added event handling to core marble class