   
   _current_signature: ->
     @signatures[0]
+    
+  _current_method_name: ->
+    @_current_signature()?.method_name
   
   _find_signature: (method_name, args...) ->
     for signature in @signatures when signature.matches(method_name, args...)

    
  # TODO: add description
  matches: (method_name, args...) ->
    (@method_name == method_name) and
      ( @args.length == args.length ) and
      ( @args.every ( element, i ) -> element == args[ i ] )


  # TODO: add description
  expects: (method_name) ->
    @_check_expects_usage(method_name)
    @signatures.unshift( new MethodSignature(method_name) )
    # TODO: use ?=, not =
    @[ method_name ] = @_define_expected_method(method_name)
    @_set_state("expects")
