         self.zoomScale = targetScale
         
         // Update Constraints
-        self.refreshLayout()
+        self.updateImageConstraints()
     }
-    
-    func refreshLayout() {
+
+    func updateImageConstraints() {
         guard self.image != nil else {
             return
         }
-        // Update Padding
+        // Calculate Padding
         let horizontalPadding = max(0, (self.frame.width - self.image!.size.width * self.zoomScale)/2)
         let verticalPadding = max(0, (self.frame.height - self.image!.size.height * self.zoomScale)/2)
         
+        // Update Constraints
         self.topConstraint.constant = verticalPadding
         self.bottomConstraint.constant = verticalPadding
         self.leftConstraint.constant = horizontalPadding

    }
    
    public func scrollViewDidZoom(scrollView: UIScrollView) {
        refreshLayout()
    }
}

        self.addSubview(self.imageView)
        self.imageView.translatesAutoresizingMaskIntoConstraints = false
        self.topConstraint = NSLayoutConstraint(item: self.imageView, attribute: .Top, relatedBy: .Equal, toItem: self, attribute: .Top, multiplier: 1, constant: 0)
        self.leftConstraint = NSLayoutConstraint(item: self.imageView, attribute: .Left, relatedBy: .Equal, toItem: self, attribute: .Left, multiplier: 1, constant: 0)
        self.bottomConstraint = NSLayoutConstraint(item: self.imageView, attribute: .Bottom, relatedBy: .Equal, toItem: self, attribute: .Bottom, multiplier: 1, constant: 0)
        self.rightConstraint = NSLayoutConstraint(item: self.imageView, attribute: .Right, relatedBy: .Equal, toItem: self, attribute: .Right, multiplier: 1, constant: 0)
        self.addConstraint(topConstraint)
        self.addConstraint(bottomConstraint)
        self.addConstraint(rightConstraint)
        self.addConstraint(leftConstraint)
        
        // Default Zoom Scaling
        self.configureInitialScale()
    }
    
    func configureInitialScale() {
        // Set Defaults
        self.minimumZoomScale = 0.5
        self.maximumZoomScale = 2
