I agree about small constructors. This will mean setTimeouts will have to check whether the session has started yet and call `applySettings` if it has. If you're ok with that, I'll implement it.