Redesigning architecture Part #8: Canvas dragging