- Low level drag machine

- gather mouse information
- manage event capture environment
- differentiate drag from click
- send update events
- handle cancellation events / messages
- look for mouse up
- send finish events

- Drag and drop system (one possible flavor)

- process drag update events
  - display drag avatar
  - display drop hints
  - manage target selection
- post processing

- Resizing system (one possible flavor)

- process drag update events
  - display resize hint
- post processing