     // Need to implement that, because otherwise it can't find
     // the constructor init(layer:AnyObject!)
     // Doesn't seem to look in the super class
-    override init!(layer: AnyObject!) {
+    override init(layer: AnyObject) {
         super.init(layer: layer)
     }
     

    }
    
    func createOpacityAnimation() -> CAKeyframeAnimation {
        var opacityAnimation = CAKeyframeAnimation(keyPath: "opacity")
        opacityAnimation.duration = self.animationDuration
        opacityAnimation.values = [self.fromValueForAlpha, 0.8, 0]
        opacityAnimation.keyTimes = [0, self.keyTimeForHalfOpacity, 1]

        self.repetitions = repeatCount;
        self.position = position
        
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
            self.setupAnimationGroup()
            self.setPulseRadius(self.radius)
            
            if (self.pulseInterval != Double.infinity) {
                dispatch_async(dispatch_get_main_queue(), {
                    self.addAnimation(self.animationGroup, forKey: "pulse")
                })
            }
        })
    }

    required init(coder aDecoder: NSCoder) {
