code: func NewSession(incognito, overrideDefaultSession bool, path string) *Session {
  	session := Session{
  		CookieStore:  overrideDefaultSession,
  		OffTheRecord: incognito,
  		Path:         path,
  	}
  	if overrideDefaultSession == true {
  		session.SetInvokable(*NewDummySession())
  	}
  	command := Command{
  		Action:     "create",
  		ObjectType: "session",
  		Args: CommandArguments{
  			CookieStore:  session.CookieStore,
  			OffTheRecord: session.OffTheRecord,
  			Path:         session.Path,
  		},
  	}
  	session.SendChannel = connection.GetInputChannels()
  	session.WaitingResponses = append(session.WaitingResponses, &command)
  	session.Send(&command)
  	dispatcher.RegisterHandler(session.DispatchResponse)
  	return &session
  }
docs: /*
  NewSession is a constructor that takes 3 arguments,
  incognito which is a boolean, meaning dont persist session state
  after close.
  overrideDefaultSession which is a boolean that till tell thrust core
  to try to invoke session methods from us.
  path string is the path to store session data.
  */