Implement the session manager