Re-implemented the unit management idea with a registry instead inheritance.