I think the receiver is great. `lager` e.g. has [multiple backends](https://github.com/basho/lager/tree/master/test) just for testing, it's very convenient and makes it easy to extend with new functionality while keeping it testable.