add an alternate way to use and consume an event body

some refactoring and adding a consume utility method