Add ObservableReporter

This allows to monitor invoked hooks during testing and verifies that
hooks are really executed by an expected process.