<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -53,7 +53,7 @@
 		&lt;cfset instance.index = 1 /&gt;
 	&lt;/cffunction&gt;
 	
-	&lt;!--- IEnumerable Implementation ---&gt;
+	&lt;!--- Iterator ---&gt;
 	
 	&lt;cffunction name=&quot;next&quot; access=&quot;public&quot; output=&quot;false&quot;&gt;
 		&lt;cfif hasNext()&gt;</diff>
      <filename>CollectionBase.cfc</filename>
    </modified>
    <modified>
      <diff>@@ -42,12 +42,7 @@
 		&lt;/cfloop&gt;	
 		&lt;cfreturn false /&gt;	
 	&lt;/cffunction&gt;	
-	
-	&lt;cffunction name=&quot;transitions&quot; access=&quot;public&quot; output=&quot;false&quot;&gt;
-		&lt;cfargument name=&quot;record&quot; required=&quot;true&quot; /&gt;
-	&lt;/cffunction&gt;
-	
-	
+		
 	&lt;cffunction name=&quot;getName&quot; access=&quot;public&quot; returntype=&quot;string&quot; output=&quot;false&quot;&gt;
 		&lt;cfreturn instance.name /&gt;
 	&lt;/cffunction&gt;</diff>
      <filename>Event.cfc</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 &lt;cfcomponent displayname=&quot;State&quot; output=&quot;false&quot;&gt;
-	&lt;cfscript&gt; instance = structNew(); &lt;/cfscript&gt;
+	
+	&lt;cfset instance = structNew() /&gt;
 	
 	&lt;cffunction name=&quot;init&quot; access=&quot;public&quot; output=&quot;false&quot;&gt;
 		&lt;cfargument name=&quot;name&quot; type=&quot;string&quot; required=&quot;true&quot; /&gt;
 		&lt;cfscript&gt;
 			instance.name = arguments.name;
-			instance.callbacks = structNew();
 		&lt;/cfscript&gt;			
 		&lt;cfreturn this /&gt;
 	&lt;/cffunction&gt;
@@ -29,7 +29,7 @@
 		&lt;cfset invokeCallback('exit#getName()#Action', arguments.obj) /&gt;
 	&lt;/cffunction&gt;
 	
-	&lt;cffunction name=&quot;invokeCallback&quot; returntype=&quot;boolean&quot; access=&quot;public&quot; output=&quot;false&quot;&gt;
+	&lt;cffunction name=&quot;invokeCallback&quot; returntype=&quot;boolean&quot; access=&quot;private&quot; output=&quot;false&quot;&gt;
 		&lt;cfargument name=&quot;callback&quot; type=&quot;string&quot; required=&quot;true&quot; /&gt;
 		&lt;cfargument name=&quot;obj&quot; required=&quot;true&quot; /&gt;
 		&lt;cfif structKeyExists(arguments.obj, arguments.callback)&gt;</diff>
      <filename>State.cfc</filename>
    </modified>
    <modified>
      <diff>@@ -79,6 +79,7 @@
 	&lt;/cffunction&gt;
 	
 	&lt;!--- This should only be called once during init ---&gt;
+	
 	&lt;cffunction name=&quot;setInitialState&quot; access=&quot;private&quot; output=&quot;false&quot;&gt;
 		&lt;cfargument name=&quot;stateName&quot; required=&quot;true&quot; /&gt;
 		&lt;cfscript&gt;
@@ -87,8 +88,7 @@
 			setState(arguments.stateName);
 			state.after(this);
 		&lt;/cfscript&gt;
-	&lt;/cffunction&gt;
-	
+	&lt;/cffunction&gt;	
 	
 	&lt;cffunction name=&quot;getCurrentState&quot; access=&quot;public&quot; returntype=&quot;string&quot; output=&quot;false&quot;&gt;
 		&lt;cfreturn invokeMethod(&quot;get#instance.stateMethod#&quot;) /&gt;
@@ -132,8 +132,14 @@
 		&lt;cfreturn '' /&gt;
 	&lt;/cffunction&gt;
 	
-	&lt;!--- Some method twisting ---&gt;
+	&lt;!--- 
+	We are using onMissingMethod for three things:
 	
+		1. To defined the state query handlers, i.e. isClosed()
+		2. To define the event firing shortcuts, i.e. close()
+		3. To pass any unknown method on to the decorated object to handle
+				
+	---&gt;	
 	&lt;cffunction name=&quot;onMissingMethod&quot; output=&quot;false&quot; access=&quot;public&quot;&gt;
     &lt;cfargument name=&quot;missingMethodName&quot; type=&quot;string&quot; /&gt;
     &lt;cfargument name=&quot;missingMethodArguments&quot; type=&quot;struct&quot; /&gt;
@@ -159,7 +165,7 @@
 	
 	&lt;!--- Utility ---&gt;
 	
-	&lt;cffunction name=&quot;invokeMethod&quot; access=&quot;public&quot; returntype=&quot;Any&quot; output=&quot;false&quot;&gt;
+	&lt;cffunction name=&quot;invokeMethod&quot; access=&quot;private&quot; returntype=&quot;Any&quot; output=&quot;false&quot;&gt;
 		&lt;cfargument name=&quot;method&quot; type=&quot;string&quot; required=&quot;true&quot; /&gt;
     &lt;cfargument name=&quot;argcollection&quot; type=&quot;struct&quot; required=&quot;false&quot; default=&quot;#structNew()#&quot; /&gt;         
 </diff>
      <filename>StateMachine.cfc</filename>
    </modified>
    <modified>
      <diff>@@ -62,11 +62,6 @@
    	&lt;/cfscript&gt;
 	&lt;/cffunction&gt;	
 	
-	&lt;cffunction name=&quot;isEqual&quot; access=&quot;public&quot; output=&quot;false&quot;&gt;
-		&lt;cfargument name=&quot;obj&quot; required=&quot;true&quot; /&gt;
-	&lt;/cffunction&gt;
-	
-	
 	&lt;cffunction name=&quot;getFromState&quot; access=&quot;public&quot; returntype=&quot;string&quot; output=&quot;false&quot;&gt;
 		&lt;cfreturn instance.from /&gt;
 	&lt;/cffunction&gt;
@@ -75,9 +70,4 @@
 		&lt;cfreturn instance.to /&gt;
 	&lt;/cffunction&gt;
 	
-	&lt;cffunction name=&quot;setFromState&quot; access=&quot;public&quot; returntype=&quot;void&quot; output=&quot;false&quot;&gt;
-		&lt;cfargument name=&quot;From&quot; type=&quot;string&quot; required=&quot;true&quot; /&gt;
-		&lt;cfset instance.from = arguments.from /&gt;
-	&lt;/cffunction&gt;
-	
 &lt;/cfcomponent&gt;
\ No newline at end of file</diff>
      <filename>StateTransition.cfc</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>9bd2d89c803a6023caf640b7d8bd70f7cd4b4582</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Wood</name>
    <email>ryan.wood@gmail.com</email>
  </author>
  <url>http://github.com/ryanwood/shade/commit/4245d4bde90bb8ef808702716d99aedae1409387</url>
  <id>4245d4bde90bb8ef808702716d99aedae1409387</id>
  <committed-date>2008-07-18T13:20:38-07:00</committed-date>
  <authored-date>2008-07-18T13:20:38-07:00</authored-date>
  <message>Clean up</message>
  <tree>c11f3841bb68e555072486dd829866f411f7e1f3</tree>
  <committer>
    <name>Ryan Wood</name>
    <email>ryan.wood@gmail.com</email>
  </committer>
</commit>
