 import Foundation
 
 /**
- The data structure responsible for holding application state, 
- allowing controlled mutation through dispatched `Actions` and
- notifying interested parties that `subscribe` to state changes.
+ The data structure responsible for holding application state, allowing controlled mutation through dispatched 
+ `Actions` and notifying interested parties that `subscribe` to state changes.
  **/
 public final class Store<State>: Publisher, Dispatch {
     private let reduce: (State, Action) -> State

}

/**
 Defines `Action` dispatch cabalities. Instances that conform to `Dispatch` are expected
 to know how to dispatch `Actions`.
 **/

public protocol Dispatch {


extension Publisher {
    /**
     Adds the handler defined by a `Subscriber` that is compatible with the events defined by this `Publisher`.
     - parameter subscriber The compatible `Subscriber`.
     - returns A closure that unsubscribes the provided `Subscriber`.
     **/
