Handle threads other than UI thread in Presenter

Change EchoClient to perform callbacks on different threads to simulate
network comms.