new build
added option for passing in event type
added $this variable passed back into callback