we should document the data structure for dragstart and dragend (i'm assuming it's `{x : number, y: number}`?)