Once you add self to IDemolishable.Demolish you will be able to make this a TraitInfo<Demolishable> and remove the explicit constructor.