master
inherited
def self.inherited(klass) klass.instance_eval do class << self attr_accessor :required, :incompatible