diff --git a/django/core/signals.py b/django/core/signals.py
index 7a23607..ec0c201 100644
--- a/django/core/signals.py
+++ b/django/core/signals.py
@@ -1,3 +1,13 @@
-request_started = object()
-request_finished = object()
-got_request_exception = object()
+class Signal(object):
+    def __init__(self,name):
+        self.name = name
+    def __repr__(self):
+        return "<Signal:%s>" % (self.name,)
+    def __str__(self):
+        return "Signal:%s" % (self.name,)
+    def __unicode__(self):
+        return u"Signal:%s" % (self.name,)
+
+request_started = Signal("request_started")
+request_finished = Signal("request_finished")
+got_request_exception = Signal("got_request_exception")
diff --git a/django/db/models/signals.py b/django/db/models/signals.py
index 2171cb1..e4cae4f 100644
--- a/django/db/models/signals.py
+++ b/django/db/models/signals.py
@@ -1,12 +1,14 @@
-class_prepared = object()
+from django.core.signals import Signal
 
-pre_init= object()
-post_init = object()
+class_prepared = Signal("class_prepared")
 
-pre_save = object()
-post_save = object()
+pre_init= Signal("pre_init")
+post_init = Signal("post_init")
 
-pre_delete = object()
-post_delete = object()
+pre_save = Signal("pre_save")
+post_save = Signal("post_save")
 
-post_syncdb = object()
+pre_delete = Signal("pre_delete")
+post_delete = Signal("post_delete")
+
+post_syncdb = Signal("post_syncdb")
