¿Cómo puedo evitar cerrar Bezier Path?

Quiero crear una curva de Bezier y crear un límite de colisión para mi objeto.

let firstSurfacePoint = CGPoint(x: 30, y: 120)
let secondSurfacePoint = CGPoint(x: 20, y: 200)
let thirdSurfacePoint = CGPoint(x: 200, y: 300)

let center = CGPoint(x: 150, y: 120)
let radius: CGFloat = 120.00
let arcWidth: CGFloat = 20.00    
let fourthSurfacePoint = CGPoint(x: 240, y: 300)

func createCollisionPath(collision: UICollisionBehavior) {

    let line =  UIBezierPath()

    line.moveToPoint(firstSurfacePoint)
    line.addCurveToPoint(thirdSurfacePoint, controlPoint1: secondSurfacePoint, controlPoint2: secondSurfacePoint)
    line.addLineToPoint(fourthSurfacePoint)

    let currentPath = CAShapeLayer()
    currentPath.path = line.CGPath
    currentPath.strokeColor = UIColor.blackColor().CGColor
    currentPath.fillColor = UIColor.clearColor().CGColor
    currentPath.lineWidth = 1
    view.layer.addSublayer(currentPath)

    collision.addBoundaryWithIdentifier("curve", forPath: line)

}

el mismo resultado pobre que obtengo, si elijo addArcWithCente

line.moveToPoint(firstSurfacePoint)
line.addArcWithCenter(center, radius: radius, startAngle: CGFloat(M_PI), endAngle: CGFloat(M_PI/2), clockwise: false)
line.addLineToPoint(fourthSurfacePoint)

En estos dos intentos recibimos resultados extraños, que son cruciales, ya que no puedo crear una colisión adecuada. En el primer intento, mi objeto atraviesa la ruta como si fuera una línea recta desde el primer punto hasta el tercer punto, así como en el segundo

¿Qué estoy haciendo mal?

Mi figura (sin arco)

Mi figura (con arco)

Respuestas a la pregunta(1)

Su respuesta a la pregunta