 spectacular.subject = (name, block) ->
   notInsideIt 'subject'
   [name, block] = [block, name] if typeof name is 'function'
-
   currentExampleGroup.ownSubjectBlock = block
   spectacular.given name, block if name?
 


  runAfter: (callback) ->
    afters = @afterHooks
    next = =>
      if afters.length is 0
        callback()
      else

      if @acceptAsync hook
        async = new spectacular.AsyncExamplePromise
        async.then => next()
        async.fail (reason) => next(reason)
        async.run()
        hook.call(this, async)
      else
        hook.call(this)
        next()
    catch e
      next(e)

  executeBlock: ->
    try
