def define(topic_name, layer_name)
      topic_module = define_topic_module(topic_name)
      step_adapter = topic_module.define_step_adapter( layer_name )
    end
def define(topic_name, layer_name)
      topic_module = define_topic_module(topic_name)
      step_adapter = topic_module.define_step_adapter( layer_name )
    end
Here's the entry point for the adapter definition API.  It's
 entirely possible that a user might want to define their step
 adapters in a re-entrant way (much like we've been reopening the
 same modules and classes in this file), so this bit of the code
 will either create a new step adapter, or return one that's
 already been defined.