Protocol implement using strings as messages.
Unit test improved.