         }
         
         func async(task:SafeTask) {
-            performRunLoopSource(RunLoopSource(task:task))
+            performRunLoopSource(RunLoopSource(task))
         }
         
         func sync<ReturnType>(task:() throws -> ReturnType) throws -> ReturnType {

        private let rl:CFRunLoop!
        private let ownRunLoop:Bool

        private static let defaultMode = "kCFRunLoopDefaultMode".bridge().cfString
        
        override init() {
            ownRunLoop = true

        }

        deinit {
            if ownRunLoop {
                let runLoop = rl
                performRunLoopSource(RunLoopSource({
                        CFRunLoopStop(runLoop)
                    },
                    priority: -32768)
                )
            }
        }
        
        #if !os(Linux)
        static func defaultLoop() {
            while CFRunLoopRunInMode(defaultMode, 0, true) != .Stopped {}
        }
        #else
        static func defaultLoop() {
            while CFRunLoopRunInMode(defaultMode, 0, true) != Int32(kCFRunLoopRunStopped) {}
        }
        #endif

        private func performRunLoopSource(rls: RunLoopSource) {
            rls.addToRunLoop(rl, mode: SerialContext.defaultMode)
