def initial_state
      if state = self.class.specification.initial_state
        find_state(state.to_s)
      elsif leaf?
        self
      else
        states.values.first.initial_state
      end
    end
def initial_state
      if state = self.class.specification.initial_state
        find_state(state.to_s)
      elsif leaf?
        self
      else
        states.values.first.initial_state
      end
    end
If an initial state is not explicitly specified, we choose the first leaf
 state