code: func New(entity NetworkEntity, frontend bool, UID ...string) *Session {
  	s := &Session{
  		id:               sessionIDSvc.sessionID(),
  		entity:           entity,
  		data:             make(map[string]interface{}),
  		handshakeData:    nil,
  		lastTime:         time.Now().Unix(),
  		OnCloseCallbacks: []func(){},
  		IsFrontend:       frontend,
  	}
  	if frontend {
  		sessionsByID.Store(s.id, s)
  		atomic.AddInt64(&SessionCount, 1)
  	}
  	if len(UID) > 0 {
  		s.uid = UID[0]
  	}
  	return s
  }
docs: // New returns a new session instance
  // a NetworkEntity is a low-level network instance