Returned command handling component

Rewrote SimpleCommandBus to mirror upstream more
Removed public API tags

Any classes and public/protected methods are public API unless marked
explicitly private