Adds the ability to pass multiple events to before, after, and receive. Adds additional unit tests.