My main idea is this, I would like to code a type to hold mouse events in zones. This type would hold open references to the mouse being right-clicked, left-clicked, and so on. I can then use this file on many different programs, simply by making a function for each possible mouse state and connecting it to the open method in the type. That way in one program a right-click could maximize, while in another the right-click could select. All I would have to do is refer the type's method "right_click" to the function in each different program that it should activate
it almost sounds like you would be better served with and abstract interface setup. let me see if i can whip an example up along those lines and see if it better suits what you are trying to accomplish... with better naming this time :)