public virtual Task ShutdownAsync() { return Task.Factory.FromAsync( (callback, state) => BeginShutdown(callback, state), EndShutdown, null); } #endregion