callback, event processing example in oberon.