Indeed a problem. And also with the current API, where one could in theory call `openSession` without having passed `server` or `serverFactory` objects in the constructor. The solution I propose is int #536, which actually separates the Editor class into specific ones, one for collab editing and one for alone editing. That way the API will be clean for the given use cases and with less chances to use it wrong, and the internal implementation not need lots of if-else.