public static OperationsQueue Do <T, U>(T args, OperationSendReceive <T, U> operation)
        {
            Result <T> result = new Result <T>();

            result.Data = args;
            OperationsQueue queue = new OperationsQueue(result);

            return(queue.Add(operation, false));
        }
        public static OperationsQueue Do <T>(OperationReceive <T> operation)
        {
            OperationsQueue queue = new OperationsQueue();

            return(queue.Add <T>(operation, false));
        }
        public static OperationsQueue Do(Operation operation)
        {
            OperationsQueue queue = new OperationsQueue();

            return(queue.Add(operation, false));
        }