 // TODO: nest inside StateMachine class
 private class _StateMachineHandlerInfo<S: StateType, E: StateEventType>
 {
-    private typealias OrderType = StateMachine<S, E>.OrderType
+    private typealias HandlerOrder = StateMachine<S, E>.HandlerOrder
     private typealias HandlerKey = StateMachine<S, E>.HandlerKey
     private typealias Handler = StateMachine<S, E>.Handler
     
-    private let order: OrderType
+    private let order: HandlerOrder
     private let handlerKey: HandlerKey
     private let handler: Handler
     
-    private init(order: OrderType, handlerKey: HandlerKey, handler: Handler)
+    private init(order: HandlerOrder, handlerKey: HandlerKey, handler: Handler)
     {
         self.order = order
         self.handlerKey = handlerKey

        return self.addChainHandler(chain.toRouteChain(), handler: handler)
    }
    
    public func addChainHandler(chain: TransitionChain, order: OrderType, handler: Handler) -> HandlerID
    {
        return self.addChainHandler(chain.toRouteChain(), order: order, handler: handler)
    }

        return self.addChainErrorHandler(chain, order: self.dynamicType._defaultOrder, handler: handler)
    }
    
    public func addChainErrorHandler(chain: RouteChain, order: HandlerOrder, handler: Handler) -> HandlerID
    {
        return self._addChainHandler(chain, order: order, handler: handler, isError: true)
    }
    
    private func _addChainHandler(chain: RouteChain, order: HandlerOrder, handler: Handler, isError: Bool) -> HandlerID
    {
        var handlerIDs: [HandlerID] = Array()
        
