Don't use the mattr_accessor default value syntax
Use a saner names in derive_adaptee_constant_from
Drop a level of indentation by extending self