basic event listener, predefined event constants, base exception class,
more utility fns, minor changes and improvements