         dispatch_sync(self.queue, block)
     }
     
-    func after(delay delay:NSTimeInterval, perform block:DoBlock) {
+    public func after(delay delay:NSTimeInterval, perform block:DoBlock) {
         let requestTime = now()
         
         self.whileLocked {

        self.timer = nil
    }
    
    func cancel() {
        self.whileLocked {
            self._cancel()
        }

        self.queue = dispatch_queue_create(queueLabel, DISPATCH_QUEUE_SERIAL)
    }
    
    private func _cancel() {
        guard let scheduledTimer = timer else {
            return
        }
