Extract Henson::APIClient

WIP, not ready for merge