public void Execute(AbstractBackendTask task, Action<TaskExecutionContext> onSuccess, Action<Exception> onError = null) { if (onError == null) { onError = GameController.Instance.HandleError; } TaskExecutor.Execute( task, new TaskExecutionContext() { Data = new Dictionary<string, object> { { AbstractBackendTask.ConnectionKey, this } }, OnSuccess = onSuccess, OnError = onError } ); }