Reworking authentication and access system into roles, as well as persistent values. Adding User object to maintain state.