Dragging items in a view around
===

I've just started a small project, which is an editor for some custom modeling language. In the editor user should be able to place new items, connect them and rearrange (move around the window).

My question is - should I start from scratch and implement my custom view inherited from `NSView`, placing each item or connection within its own layer, than implement algorithm for selecting items, figuring out which item has been clicked and so on? Or maybe its already done, but I'm not aware of it? (I'm asking because I would like to avoid reinventing the wheel ;)