     public var dispatchFunction: DispatchFunction!
 
     private var reducer: AnyReducer
+
     var subscribers: [AnyStoreSubscriber] = []
+
     private var isDispatching = false
 
     public required convenience init(reducer: AnyReducer, state: State?) {


    public func dispatch(actionCreatorProvider: AsyncActionCreator, callback: DispatchCallback?) {
        actionCreatorProvider(state: state, store: self) { actionProvider in
            let action = actionProvider(state: self.state, store: self)
            if let action = action {
                self.dispatch(action, callback: callback)
            }
        }
    }



    public typealias ActionCreator = (state: State, store: Store) -> Action?

    public typealias AsyncActionCreator = (
        state: State,
        store: Store,
        actionCreatorCallback: ActionCreator -> Void
    ) -> Void
}
