Well this is kind of a standard technique for dealing with the shortcomings of the drag api but I could make the names clearer.