User preferences refactoring: got rid of silly indirection using store and events