Drag event handling refactored for clarity + documentation