/// <summary>
 /// Sends an update message
 /// </summary>
 /// <param name="websocket"></param>
 /// <param name="message"></param>
 /// <param name="cancellationToken"></param>
 /// <param name="toJsonPreCompleted"></param>
 /// <returns></returns>
 public static Task SendAsync(this ManagedWebSocket websocket, UpdateMessage message, CancellationToken cancellationToken = default, Action <JToken> toJsonPreCompleted = null)
 => websocket.SendAsync(message?.ToJson(toJsonPreCompleted), cancellationToken);