added option to return results from event listener callbacks
type checks updated