<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,38 +1,31 @@
-var Controller = {
-  // object literals cannot be used as slot names for other object literals
-  // identify() gives us a unique id to use as a key.
-  identify : function(obj){
-    var id = this.GUID++;
-    this.Controllers[id] = obj;
-    return id;
-  },
-  GUID : 0,
-  'Controllers' : {},
-  sharedBehaviors: {
-    _observers: {},
-    attr : function(attr,value){
-      if (arguments.length &gt; 1) {
-        this[attr] = value;
-        this._notifyObservers(attr);        
-        return this;
-      } else {
-        return this[attr];
-      }
-    },
-    _notifyObservers : function(attr){
-      var name = this.name;
-      
-      if (!this._observers[attr]) { return this}; // skip out of notifying if there are no obsersvers
-    
-      jQuery.each(this._observers[attr], function(){
-        var customEvent = name + '_' + attr + '_updated';
-        $(this).trigger(customEvent);
-      });
+Controller = function(name, attributes){
+  var identify = function(obj){
+    var id = Controller.GUID++
+    Controller.Controllers[id] = obj;
+  };
+  
+  this.name = name;
+  this.attr = function(attr,value){
+    if (arguments.length &gt; 1) {
+      this[attr] = value;
+      this._notifyObservers(attr);        
+      return this;
+    } else {
+      return this[attr];
     }
-  },
-  init : function(obj) {
-    jQuery.extend(obj, this.sharedBehaviors);
-    obj._id = Controller.identify(this);
-    return obj;
-  },
-}
+  };
+  
+  this._id = identify(this);
+  this._observers = {};
+  this._notifyObservers = function(attr){
+    var name = this.name;
+    if (!this._observers[attr]) { return this}; // skip out of notifying if there are no obsersvers
+    jQuery.each(this._observers[attr], function(){
+      var customEvent = name + '_' + attr + '_updated';
+      $(this).trigger(customEvent);
+    });
+  };
+  jQuery.extend(this, attributes);
+};
+Controller.GUID = 0;
+Controller.Controllers = {};
\ No newline at end of file</diff>
      <filename>control.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a8b10137f0127200e0d8402c6610e1365ab6f914</id>
    </parent>
  </parents>
  <author>
    <name>Trek Glowacki</name>
    <email>pietrekg@umich.edu</email>
  </author>
  <url>http://github.com/trek/control.js/commit/202a3923f65e82e4ca4d04ad93f7068b3d8544ef</url>
  <id>202a3923f65e82e4ca4d04ad93f7068b3d8544ef</id>
  <committed-date>2009-06-09T11:57:33-07:00</committed-date>
  <authored-date>2009-06-09T11:57:33-07:00</authored-date>
  <message>updated control library to more objecty-syntax</message>
  <tree>67baa78c76d3617aca5db6e52e8f3d81f79523fe</tree>
  <committer>
    <name>Trek Glowacki</name>
    <email>pietrekg@umich.edu</email>
  </committer>
</commit>
