Having built two object oriented drawing systems with visual mouse-based editing, I agree with Ivan. Mouse tracking is not a drawing feature and you *really* need to separate the two in your code.
Build classes that draw your objects. Then, build classes to let a canvas edit the drawing classes. Otherwise you’re creating a huge tangled mess.