         // Nothing to do here
     }
 
-    func shutdownGracefully(queue: DispatchQueue, _ callback: @escaping (Error?) -> Void) {
+    public func shutdownGracefully(queue: DispatchQueue, _ callback: @escaping (Error?) -> Void) {
         queue.async {
             callback(nil)
         }

        return EventLoopFuture<T>(eventLoop: self, checkForPossibleDeadlock: false, result: result)
    }
    
    func scheduleTask<T>(in: TimeAmount, _ task: @escaping () throws-> (T)) -> Scheduled<T> {
        let promise: EventLoopPromise<T> = newPromise()
        promise.fail(error: EventLoopError.unsupportedOperation)
        return Scheduled(promise: promise, cancellationTask: {


import Dispatch

public class EmbeddedEventLoop : EventLoop {

    let queue = DispatchQueue(label: "embeddedEventLoopQueue", qos: .utility)
    public var inEventLoop: Bool {
        return true
    }
    var isRunning: Bool = false

    // Would be better to have this as a Queue
