 	// MARK: - Touch Handling
 	var trackingTouch: UITouch? = nil
 	var color = UIColor.redColor()
-	public override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
+	public override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
 		if trackingTouch != nil {
 			return
 		}
 		
-		if let touch = (touches.first as? UITouch) {
+		if let touch = touches.first {
 			trackingTouch = touch
 			
 			// Start a new line!

			}
		}
	}
	public override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
		if trackingTouch != nil && touches.contains(trackingTouch!) {
			trackingTouch = nil
			self.setNeedsDisplay()
		}
	}
	public override func touchesCancelled(touches: Set<NSObject>!, withEvent event: UIEvent!) {
		if trackingTouch != nil && touches.contains(trackingTouch!) {
			trackingTouch = nil
			

			self.setNeedsDisplay()
		}
	}
	public override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
		for touch in touches {
			if touch === trackingTouch {
				// Add a point to our sketch's last line.
				if let currentLine = self.sketch.lines.last {
