code: public SessionController initialiseSessionController(@NonNull SessionCreateManager sessionCreateManager,
                                                           @NonNull PushManager pushMgr,
                                                           @NonNull AtomicInteger state,
                                                           @NonNull ComapiAuthenticator auth,
                                                           @NonNull RestApi restApi,
                                                           @NonNull Handler handler,
                                                           boolean fcmEnabled, @NonNull
                                                           final ISessionListener sessionListener) {
          sessionController = new SessionController(sessionCreateManager, pushMgr, state, dataMgr, auth, restApi, packageName, handler, log, getTaskQueue(), fcmEnabled, sessionListener);
          return sessionController;
      }
docs: Initialise controller for creating and managing session.
  
  @param sessionCreateManager Manager for the process of creation of a new session
  @param pushMgr              Push messaging manager.
  @param state                SDK global state.
  @param auth                 ComapiImplementation calls authentication request callback
  @param restApi              Rest API definitions.
  @param handler              Main thread handler.
  @param fcmEnabled           True if Firebase initialised and configured.
  @param sessionListener      Listener for new sessions.
  @return Controller for creating and managing session.