     
   install_mock_method = (self, method_name) ->
     mock_method = new_MockMethod(self, method_name)
+    mock_method.install()
     mock_methods.register(mock_method)
-    self[method_name] = mock_method
     
   is_mock_method = (method) ->
     mock_methods.contains(method)

    expectation._called = yes
    throw expectation._throws if expectation._throws
    expectation._returns

  mock_method.uninstall = ->
    if original_method?

new_MockMethod = (object, method_name) ->

  expectations = new ExpectationList()
  original_method = undefined

  mock_method = (args...) ->
    expectations.check_for_duplicates(method_name)                              # TODO: explain why we do this here
