diff --git a/lib/respect.rb b/lib/respect.rb
index <HASH>..<HASH> 100644
--- a/lib/respect.rb
+++ b/lib/respect.rb
@@ -96,15 +96,7 @@ module Respect
     # Extend the schema definition DSL with the command defined in the given
     # module +mod+.
     def extend_dsl_with(mod)
-      [
-        SchemaDef,
-        ArrayDef,
-        ItemsDef,
-        ObjectDef,
-        OptionalPropDef,
-      ].each do |klass|
-        klass.send(:include, mod)
-      end
+      BaseDef.send(:include, mod)
     end
 
     # Build a schema class name from the given +command_name+.
diff --git a/lib/respect/def_evaluator.rb b/lib/respect/def_evaluator.rb
index <HASH>..<HASH> 100644
--- a/lib/respect/def_evaluator.rb
+++ b/lib/respect/def_evaluator.rb
@@ -89,7 +89,7 @@ module Respect
 
     def respond_to_missing?(symbol, include_all)
       # We ignore include_all since we are only interested in non-private methods.
-      @target.respond_to?(symbol) && !BaseDef.new.respond_to?(symbol)
+      @target.respond_to?(symbol) && !::Object.new.respond_to?(symbol)
     end
 
     # Evaluate the given +block+ in the context of this class and pass it this
Generalize Respect.extend_dsl_with.

Now someone can create its own "Def" class and it will receive helpers module too.