         self.executer = executer
     }
     
-    public func execute(_ action: @escaping () -> Void) {
-        executer(action)
+    public func execute(_ body: @escaping () -> Void) {
+        executer(body)
     }
 }
 

    private let mutations: State.Mutations
    private let dispatcher = Dispatcher<State>()
    private let disposableScope = Dispatcher<State>.Disposable.Scope()

    public static var actions: Actions<State> {
        return .init(dispatcher: Dispatcher<State>.shared)
    }

    struct Key: Equatable {
        private let value: UInt64
        
        static var first: Key {
            return .init(value: 0)
        }
        
        var next: Key {
            return .init(value: value &+ 1)
        }
        
        private init(value: UInt64) {
            self.value = value
        }
        
        static func == (lhs: Key, rhs: Key) -> Bool {
