WIP: start work on drag-and-snap idiom