Nito.AsyncEx.Oop A source for deferrals. Event argument types may implement this interface to indicate they understand async event handlers. Requests a deferral. When the deferral is disposed, it is considered complete. Manages the deferrals for an event that may have asynchonous handlers and needs to know when they complete. Instances of this type may not be reused. The deferral source for deferrals managed by this manager. The lock protecting . The underlying countdown event. May be null if no deferrals were ever requested. Creates a new deferral manager. Increments the count of active deferrals for this manager. Decrements the count of active deferrals for this manager. If the count reaches 0, then the manager notifies the code raising the event. Gets a source for deferrals managed by this deferral manager. This is generally used to implement for event argument types. Notifies the manager that all deferral requests have been made, and returns a task that is completed when all deferrals have completed. A source for deferrals. The deferral manager in charge of this deferral source. A deferral.