public static async Task <IActionResult> Orchestrate(this IActorTableEntityClient entityClient, string name, IAsyncCollector <SignalRMessage> signalRMessages, Action <Game> action = null) { await using var state = await entityClient.GetLocked <Game>("game", name.Slugify()); action?.Invoke(state.Entity); await state.Flush(); await signalRMessages.TrySignalGroupUpdated(name); return(new OkObjectResult(state.Entity)); }