       return false
        
   self
-  
-# just a thin wrapper on an array, probably not needed  
-EventCollection = ->
-  events = []
-  
-  self =
-    add: (name, machine) ->
-      event = Event(name, machine)
-      events.push(event)
-      return event
-      
-    all: -> events
-  
-  self
-  
+    
 Guard = (name, object, options) ->
   I = 
     from: options.from

  self
  
Machine = (name, object, options, block) ->
  events = EventCollection()
  states = []
  callbacks =
    before: []


  add_methods_to_object: (name, object) ->
    object[name] = self.state()
    object[name+'_events'] = events
    object[name+'_states'] = states
    
  add_event_methods: (name, object, event) ->
