public async Task StartTransaction(PackageAction[] actions) { _runningTransaction?.Cancel(); _runningTransaction = await PackageStore.ProcessTransaction(actions, value => { Log.Debug("-- New event: " + value); var newState = CurrentTransaction.Value.Reduce(value); CurrentTransaction.OnNext(newState); }); }