protected virtual IEnumerable <Task> GetTasks()
        {
            var cancelToken = _cancelToken;

            return(_engine.GetTasks(cancelToken)
                   .Concat(new Task[] { HeartbeatAsync(cancelToken) }));
        }