protected abstract void InternalScheduleOnce(TimeSpan delay, Action action, ICancelable cancelable); protected abstract void InternalScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, Action action, ICancelable cancelable);