public IDisposable Schedule(Action action) { actions.Enqueue(action); return Disposable.Create(() => Remove(action)); }