Create the User class and user repository
Allow users to be deleted from the repository
Replace uses of the User db model with the User object
Always create a new User in the db when getting one from the repository
Convert connection get_ methods to property methods
Rename connection.connection_state to connection.state
Use the repository pattern for retrieving persisting connection state

Don't reference the global spotify_session instance directly, move
it behind a module