all members should be initialised (and registered) in the init() method. If constructors want to change something, they can to it after the init call.