Support type arguments for desiredSuperclass
Call the init() method initTraits() since init is kind of a common name