diff --git a/circle/common/models.py b/circle/common/models.py
index d63beb3..f92cce9 100644
--- a/circle/common/models.py
+++ b/circle/common/models.py
@@ -17,6 +17,7 @@
 
 from collections import deque
 from contextlib import contextmanager
+from functools import update_wrapper
 from hashlib import sha224
 from itertools import chain, imap
 from logging import getLogger
@@ -233,9 +234,11 @@ def method_cache(memcached_seconds=60, instance_seconds=5):  # noqa
 
     def inner_cache(method):
 
+        method_name = method.__name__
+
         def get_key(instance, *args, **kwargs):
             return sha224(unicode(method.__module__) +
-                          unicode(method.__name__) +
+                          method_name +
                           unicode(instance.id) +
                           unicode(args) +
                           unicode(kwargs)).hexdigest()
@@ -269,6 +272,9 @@ def method_cache(memcached_seconds=60, instance_seconds=5):  # noqa
                              unicode(args), unicode(result))
 
             return result
+
+        update_wrapper(x, method)
+        x._original = method
         return x
 
     return inner_cache