user-api-client doesn't depend on hakken right now, so if you really want to do this, you need to add a hakken dependency to package.json

That said, I intentionally kept hakken out of this and instead made the clients depend on a thing with a get() method.  This was done for three reasons

1. Having the code instantiate hakken here means that every new instance is going to create its own set of overhead for things that maintain state from hakken (its own polling mechanism, its own copies of watches, etc.).  While this overhead isn't much, hakken was written assuming that you'd basically have one instance of the client and just create new watches off of it.
2. Be agnostic about how the server is "found"
3. It's easier to test without the static dependency of hakken here.