its no longer necessary to pass config instance to register() methods
added abstract register() method to item class