re #29 split User into abstract class and RegisteredUser class
General user-info turned into interface in order to support multipleuser info sources (authentication methods)
re #29 split User into abstract class and RegisteredUser class
General user-info turned into interface in order to support multiple
user info sources (authentication methods)