UIBezierPath subtraction from another UIBezierPath
===

I am making an app that allows the user to draw on the screen with his finger in different colors.  The drawings are drawn with UIBezierPaths but I need an eraser.  I did have an eraser that was just a path with the background image as the color but this method causes memory issues.  I would like to delete the points from any path that is drawn on when eraser is selected.  

Unfortunately UIBezierPath doesn't have a subtraction function so I want to make my own.  So if eraser is selected, it will look at all the points that should be erased and see if any of the existing paths contain those points, then subdivide the path leaving a blank spot.  But it should be able to see how many points in a row to delete not do it one at a time.  In theory it makes sense but I'm having trouble getting started on the implementation.

Anyone have any guidance to set me on the right 'path'?