Refactor command response tracking into messaging client

Pending messages are stored immedietely on correlation id creation
and resolve/rejected when response is received