protected abstract IEnumerable<Task> GetScheduledTasks (); protected internal abstract void QueueTask (Task task);