Add Unit tests
It would be great to add some unit tests to make sure we are not breaking anything.

We can't test it against real robots, but we can mock the communication layer based on the responses and logs we are reported with. 