Refactor and tidy up, including Observable http client.