public AbstractCommand(string action, TRequest request, TResponse response) { this.Id = RequestId.Get(); this.Token = RequestToken.Get(); this.Tries = 1u; this.Action = action; this.RequestArgs = request; this.ResponseResult = response; this.onSuccessCallback = null; this.onFailureCallback = null; this.Time = 0u; }