 
   hideForms: (forms = @getFormNames()) ->
     @forms[form]?.hide() for form in forms
+
     return this
 
   showForm: (form) ->


    return this

  nextForm: ->
    requirement = @nextRequirement()
    return  unless requirement?
    
    provider = @nextProvider requirement
    return  unless provider?

    @showForm provider

    return provider

  nextRequirement: -> @collector.nextRequirement()

  nextProvider: (key, from) ->
    providers = @providers[key]
    providers.i = from ? providers.i ? 0
    provider = providers[providers.i++]

        fields = @getFields()
        fields.push (child.getFields yes)... for own _, child of @children
        return fields

      (key for own key of @fields when not (key of @children))

    nextNode: ->
      node = @ordered[@index]
