add event subscribing interface

Currently only one event is available: SPINBOX_CURRENT_CHANGE. More
events can be added easily as needed.