     /// The color to stroke the path, or nil for no fill. Defaults to opaque black. Animatable.
     public var strokeColor: Color? {
         get {
-            if let color = shapeLayer.strokeColor {
-                return Color(color)
-            } else {
-                return nil
-            }
+            return shapeLayer.strokeColor.map{ color in Color(color) }
         }
         set(color) {
             shapeLayer.strokeColor = color?.CGColor

    /// The color to fill the path, or nil for no fill. Defaults to opaque black. Animatable.
    public var fillColor: Color? {
        get {
            if let color = shapeLayer.fillColor {
                return Color(color)
            } else {
                return nil
            }
        }
        set(color) {
            shapeLayer.fillColor = color?.CGColor

    }

    public override func hitTest(point: Point) -> Bool {
        return path?.containsPoint(point) ?? false
    }
}
