 
     /// Removes all snapshots that are not using .useNoSnapshot.
     func removeAllSnapshots() {
-        for (k, v) in viewToSnapshot {
-            if k != v {
-                v.removeFromSuperview()
+        for (view, snapshot) in viewToSnapshot {
+            if view != snapshot {
+                snapshot.removeFromSuperview()
+            } else {
+                view.layer.removeAllAnimations()
             }
         }
     }

        self.fromViews = fromViews
        self.toViews = toViews
        
        map(views: fromViews, identifierMap: &motionIdentifierToSourceView)
        map(views: toViews, identifierMap: &motionIdentifierToDestinationView)
    }
    
    /**

     - Parameter views: An Array of UIViews.
     - Parameter identifierMap: A Dicionary of String to UIView pairs.
     */
    func process(views: [UIView], identifierMap: inout [String: UIView]) {
        for v in views {
            v.layer.removeAllAnimations()
            
