 		if layer == self.layer {
 			
 			var offset: CGPoint = CGPointZero
-			var radius = fmin(self.bounds.width, self.bounds.height) / 2
+			let radius = fmin(self.bounds.width, self.bounds.height) / 2
 			offset.x = (self.bounds.width - radius * 2) / 2.0
 			offset.y = (self.bounds.height - radius * 2) / 2.0
 			
 			CATransaction.begin()
 			CATransaction.setDisableActions(true)
 			
-			var ovalRect = CGRectMake(offset.x, offset.y, radius * 2, radius * 2)
-			
-			var circlePath = UIBezierPath(ovalInRect: ovalRect)
+			let ovalRect = CGRectMake(offset.x, offset.y, radius * 2, radius * 2)
+			
+			let circlePath = UIBezierPath(ovalInRect: ovalRect)
 			trailCircle.path = circlePath.CGPath
 			
 			circle.transform = CATransform3DIdentity

			checkmarkStrokeEnd.keyTimes = [NSNumber(double: 0.0), NSNumber(double: checkmarkBounceDuration), NSNumber(double: checkmarkEndDuration + checkmarkBounceDuration)]
		}
		
		var checkmarkStrokeStart = CAKeyframeAnimation(keyPath: "strokeStart")
		checkmarkStrokeStart.duration = checkmarkStartDuration + checkmarkBounceDuration
		checkmarkStrokeStart.removedOnCompletion = false
		checkmarkStrokeStart.fillMode = kCAFillModeForwards

		circleAnimationGroup.animations = [circleStrokeEnd]
		circle.addAnimation(circleAnimationGroup, forKey: "circleStrokeEnd")
		
		let trailCircleColor = CABasicAnimation(keyPath: "opacity")
		trailCircleColor.duration = animationDuration
		if selected {
			trailCircleColor.fromValue = NSNumber(float: 0.0)
