consolidates event logging, and adds the ability to speicfy a maximum event number to proceed to
consolidates into a single catch/throw block.