diff --git a/lib/cucumber/configuration.rb b/lib/cucumber/configuration.rb
index <HASH>..<HASH> 100644
--- a/lib/cucumber/configuration.rb
+++ b/lib/cucumber/configuration.rb
@@ -4,9 +4,17 @@ module Cucumber
       new
     end
     
+    def initialize(options = {})
+      @options = options
+    end
+    
+    def dry_run?
+      @options[:dry_run]
+    end
+    
     def options
-      warn("#options is deprecated. Please use the configuration object instead")
-      {}
+      warn("#options is deprecated. Please use the configuration object instead. #{caller[1]}")
+      @options
     end
   end
 end
\ No newline at end of file
diff --git a/lib/cucumber/step_mother.rb b/lib/cucumber/step_mother.rb
index <HASH>..<HASH> 100644
--- a/lib/cucumber/step_mother.rb
+++ b/lib/cucumber/step_mother.rb
@@ -20,7 +20,7 @@ module Cucumber
 
     def initialize(configuration = Configuration.default)
       @current_scenario = nil
-      @configuration = configuration
+      @configuration = parse_configuration(configuration)
     end
     
     def options=(options)
@@ -225,5 +225,11 @@ module Cucumber
     def log
       Cucumber.logger
     end
+    
+    def parse_configuration(configuration)
+      return configuration if configuration.is_a?(Configuration)
+      return Configuration.new(configuration) if configuration.is_a?(Hash)
+      raise(ArgumentError, "Unknown configuration: #{configuration.inspect}")
+    end
   end
 end
Making specs pass: get StepMother to accept a Hash or a Configuration object in her constructor