bug fix: access violation when calling callback with more than one parameter, and added the ability to set receiver for callback