<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -364,8 +364,27 @@ module Mack
     # Make sure that all the class level methods got included into the receiver's class
     #
     def self.included(base)
+      Mack::Controller::Registry.instance.controllers &lt;&lt; base
       base.extend(ClassMethods)
     end
     
+    # Houses a repository of all the controllers in the system.
+    class Registry
+      include Singleton
+      
+      attr_reader :controllers
+      
+      def initialize
+        @controllers = []
+      end
+      
+      # Add a controller to the registry.
+      def self.add(controller)
+        Mack::Controller::Registry.instance.controllers &lt;&lt; controller
+        Mack::Controller::Registry.instance.controllers.uniq!
+      end
+      
+    end
+    
   end # Controller
 end # Mack
\ No newline at end of file</diff>
      <filename>lib/controller/controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -30,6 +30,18 @@ end
 
 describe Mack::Controller do
   
+  describe Mack::Controller::Registry do
+    
+    it &quot;should hold a list of all the controllers registered with Mack&quot; do
+      class RegTestController
+      end
+      Mack::Controller::Registry.instance.controllers.should_not include(RegTestController)
+      RegTestController.send(:include, Mack::Controller)
+      Mack::Controller::Registry.instance.controllers.should include(RegTestController)
+    end
+    
+  end
+  
   before(:all) do
     Mack::Routes.build do |r|
       r.you_want_what &quot;/yww&quot;, :controller =&gt; &quot;wants_test&quot;, :action =&gt; :you_want_what</diff>
      <filename>test/unit/controller/controller_base_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>1cf308c8f1c572dba13fd83deb8a738744423565</id>
    </parent>
  </parents>
  <author>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </author>
  <url>http://github.com/markbates/mack/commit/f8b0b96ee82a3b3b82200faeaa4a7a0d2b6aae72</url>
  <id>f8b0b96ee82a3b3b82200faeaa4a7a0d2b6aae72</id>
  <committed-date>2008-07-18T14:25:15-07:00</committed-date>
  <authored-date>2008-07-18T14:25:15-07:00</authored-date>
  <message>Feature: A Controller Registry is needed [#38 state:resolved]</message>
  <tree>829badcbafe078ddcf1f97289018d7f7047eef0f</tree>
  <committer>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </committer>
</commit>
