class SessionManager implements Closeable {

  public ScheduledFuture<?> schedule(String timer, Runnable task, long period) {
    if (timer != null) {
      return executors.scheduleAtFixedRate(new RunnableWithTimer(timer, task), period, period, TimeUnit.SECONDS);
    }
    return executors.scheduleAtFixedRate(task, period, period, TimeUnit.SECONDS);

  }

  public  SessionManager(ExecutorFacade executors, SessionFactory factory, SessionRepository repository,
      SessionTracking tracking, SessionNotifier notifier, SessionConfiguration configuration, ClassLoader classLoader);

}