Implemented Observer pattern for UserState