         callback()
   
   _run_test: (test, callback) =>
-    @_run_before_alls @session.meta, =>
-      @_run_before_eachs @session.meta, =>
+    @_run_before_alls @_session.meta, =>
+      @_run_before_eachs @_session.meta, =>
         @emit 'test_start'
         test.run (report) =>
           @emit 'test_end', [report], ->
-          @_run_after_eachs @session.meta, =>
+          @_run_after_eachs @_session.meta, =>
             callback()
   
   _run_suite: (suite) =>

    suite._run()
  
  _next: =>
    @session.item = @_tests_and_suites[++@session.index]
    
    if not @session.item?
      if @session.test_reports > 0
        @_run_after_alls()
      else
        @_complete()
      
    else if @session.item instanceof Suite
      @_run_suite @session.item
      
    else
      @_run_test @session.item, @_next
  
  _run: =>
    @session =
      ran_a_test: false
      index: -1
      meta:

  
  _run_before_alls: (meta, callback) =>
    @emit 'before_all', [meta], =>
      if not @_session.ran_a_test
        @_session.ran_a_test = true
        @_run_runners @_before_alls, =>
          callback()
      else
