Had to move init and register calls to subclass constructors