- add assertions to provide abort-on-violation capabilities
- add source and line info to error messaging
- make adding a reporter idempotent; provide a removal function as well
- add a finalize method to the reporter api to allow full summarization
- convert
Spec
from singleton to instance