     println("begin")
     
     if event.type == UIEventType.Touches {
-      println("beginChange")
       changeButtonColorTo(pressedColor)
     }
     return true

  // MARK: - Private Properties
  
  private var animationDuration: CFTimeInterval = 0.2
  var buttonState: ButtonState = .Original
  private var borderWidth: CGFloat = 5.0
  
  var originalCornerRadius: CGFloat = 0
  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
  var smallBounds: CGRect = CGRectZero
  var smallColor: CGColorRef = UIColor.whiteColor().CGColor
  var smallBorderColor: CGColorRef = UIColor(white: 0.9, alpha: 1).CGColor
  
  var pressedColor: CGColorRef = UIColor(red:0.14, green:0.6, blue:0.49, alpha:1).CGColor
  
  var circularProgressLayer: CAShapeLayer
  var foregroundLayer: CALayer
  
  
  // MARK: - Initializers

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