Braunschweig Action-Creator-Creator func registerUser(registrationData: RegistrationData) -> (AppState, Store<AppState>) -> Action? { return { (state: AppState, store: Store<AppState>) -> Action? in let params: [String: Any] = ["name": registrationData.username, "email": registrationData.email, "password": registrationData.password] guard let request = ... request.responseJSON { response in switch response.result { case .success: // DISPATCH #1 - New User store.dispatch(UpdateLoginState(user: User(JSON: ...), status: .loggedIn)) case .failure(let error): ... }.validate(statusCode: 201...201) return nil } } 20