   
   override func continueTrackingWithTouch(touch: UITouch, withEvent event: UIEvent) -> Bool {
     super.continueTrackingWithTouch(touch, withEvent: event)
-    
-    println("continue")
     
     var touchEnd = touch.locationInView(self)
     if !CGRectContainsPoint(bounds, touchEnd) {
       changeButtonColorTo(originalColor)
-      println("continueOutOfBounds")
-      
       return false
     }
     return true

    layer.addSublayer(circularProgressLayer)
  }
  
  func resetProgressLayer() {
    progress = 0
    circularProgressLayer.strokeEnd = 0
  }

  // MARK: - Private Properties
  
  private var animationDuration: CFTimeInterval = 0.2
  private var buttonState: ButtonState = .Original
  private var borderWidth: CGFloat = 5.0
  
  var originalCornerRadius: CGFloat = 0
  private var originalBounds: CGRect = CGRectZero
  var originalColor: CGColorRef = UIColor(red:0.14, green:0.6, blue:0.79, alpha:1).CGColor
  var originalBorderColor: CGColorRef = UIColor(red:0.14, green:0.6, blue:0.79, alpha:1).CGColor
  
  var smallCornerRadius: CGFloat = 0
  private var smallBounds: CGRect = CGRectZero
  var smallColor: CGColorRef = UIColor.whiteColor().CGColor
  var smallBorderColor: CGColorRef = UIColor(white: 0.9, alpha: 1).CGColor
  
  // TODO: implement PressedColor effect
  private var pressedColor: CGColorRef = UIColor(red:0.14, green:0.6, blue:0.49, alpha:1).CGColor
  
  private var circularProgressLayer: CAShapeLayer
  private var foregroundLayer: CALayer
  
  
  // MARK: - Initializers
