object canvas

Hi,

I would like to be able to use matplotlib as an object canvas, where
items on the canvas receive mouse events (enter, leave, press, release)
and the registered callback is invoked.

For example, I want to be able to highlight the line associated with
the legend entry as I mouse over the legend, and conversely highlight
the legend entry associated with the line as I mouse over the line.
I will also want to do operations such right clicking on the axis to
modify axis properties such as linear/log scale, and click on legend
entries to toggle lines on and off.

From looking at the pick_event_demo in examples, I have a lot of work

ahead of me. Is this the state of the art?

Before diving in and figuring out how to do some of these things, I
would like to know if others have already implemented similar features
in the current architecture, and if there are any plans in the works
for upgrading the architecture that would make this easier.

Thanks in advance,

  - Paul