Split MyCampus and SessionManager into interface and implementation (fixes #41).