             emit(.Completed)
         }
         _position = position
-        if apply { postpone() }
+        if apply { manual() }
     }
     
     weak var owner: Animation? {
         didSet {
             if owner != nil {
                 ongoingAnimations.remove(self)
-                postpone()
+                manual()
             }
         }
     }

        return AnimationGroup(animations: [self] + animations)
    }
    
    private func postpone() {
        NSObject.cancelPreviousPerformRequestsWithTarget(
            self,
            selector: Selector("go"),
            object: nil
        )
    }
        
    func complete(finished: Bool) {

        guard owner == nil else { return owner!.go(speed: speed) }
        guard speed > 0.0 else { return reverse().go(speed: -speed) }
        _speed = speed
        manual()
        begin()
        if position == 0.0 {
            emit(.Start)
