* c_str() needed for pretty debug logs (to not log integers which means nothing)
* std::string operator needed to log not only message, ale it's content
if provided (similar to __repr__ from pytohon
Till now there was no clear way to register hanlder for message in
Service, with this approach one can register function/lambda handler
for Message which encurages handling messages in functions rather than
in hudge switch cases.
With aproach like this our Messages resembe something between Command
and State pattern. In state pattern `Message` would be `Event` send,
whereas Service would be `Context`.