Collapsed the two clients into one, tidied them up a fair amount.
Introduced a Time microtype.
Moved the client into the codebase proper rather than just the tests.
Succumbed and wrote a custom client exception class (strictly Runtime).
Tests still pass :)