                     UIView.animateWithDuration(0.2, delay: 0.0, options: .AllowUserInteraction, animations: { [unowned self] () -> Void  in
                         view.alpha = 0.0
                         view.endTouch()
-                    }, completion: { [unowned self] (finished) -> Void in
-                        view.removeFromSuperview()
-                        self.log(touch)
-                    });
+                        }, completion: { [unowned self] (finished) -> Void in
+                            view.removeFromSuperview()
+                            self.log(touch)
+                        });
                 }
                 log(touch)
             }
         }
     }
-    
+}
+
+extension Visualizer {
     public func log(touch: UITouch) {
         if !config.showsLog {
             return

            touch.removeFromSuperview()
        }
    }
    
    // MARK: - Methods
    
    public class func isEnabled() -> Bool {
        return sharedInstance.enabled
    }

    }
    
    public func handleEvent(event: UIEvent) {
        if event.type != UIEventType.Touches {
            return
        }
