Resolve SRP violations in buses by switching to real decorators

This PR is an interactive blog post to demonstrate how easy it is to violate SRP with inheritance and how easy it is to solve such violation with real decorators. As a reference point we'll take [this class](https://github.com/laracasts/Commander/blob/master/src/Laracasts/Commander/ValidationCommandBus.php).

The easiest rational way I know to expose SOLID principles violation is through demonstrating communication of objects. The most straight forward way to illustrate actual under-the-hood objects communication is with any modern mockist framework. But because this project doesn't have its own test suite, we'll start from installing our framework of choice: