Programmable mousewheel

The mouse wheel is great.but I think pretty much under utilized.

I think it would be cool if one could program the mouse wheel so that it could control more than just one thing. For example one could set up a sequence where if one pushed down on the wheel and quickly lets go it would cycle to the next control option. For example it may control horizontal scroll and after the moues wheel click next control vertical scroll. Click it down again and it is back controlling horizontal scroll. Or one might want to a dd a vertical zoom option and have three steps in the click sequence.

Or for the really control everything from the mouse freak and never have to type it could be programed so if one holds it down for a second or two one gets a mouse wheel scrollable menu of four or five control options.