Factor all API construction & connection logic out into 'smartclip.backends' module.