avoid view hierarchy cycles
trade mouseMove for mouseWheel
add mouseMove support
reorganize tasks
implement the point conversions