Lots of refactoring. Now just a single HueClient