MooseX::Traits with some features from MooseX::Object::Pluggable