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

    case Delay
}

public typealias LockedBlock = @convention(block) () -> Void

public final class Timer<TimedObject:AnyObject>:NSObject {


            dispatch_source_set_event_handler(timer) {
                if let object = self.object {
                    block(object) // nothing is done if object was meanwhile set to nil
                }
                self._cancel()
            }
