I think the factory function are easier to start with #3
refactor: setup a better name for the things that handle sign in, it's sesion factory #3