you are right, it is more readable but the code here is carefully written to avoid as much as possible allocations while dragging.