A non-annotation driven event framework for java