I think it does not make sense to make them named. The fact that most users will be using the context builder to create directly the ChefApi does not mean the context does not exist. jclouds internally creates the context, which provides the injector and the ChefApi itself, and it has a name (that can be configured using the context builder, and that is what karaf uses). So, the context will always exist; there's no need to duplicate the naming thing to add a name to the ChefApi too.
I wouldn't say we're using the "first named object". We are extracting the name exactly from the same object as before. For example, the compute service does [this](https://github.com/jclouds/jclouds-karaf/blob/master/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandBase.java#L83) to get the name: service -> view (getContext) -> underlying ApiContext (unwrap) -> name. We have just changed the path, but there's always ben an ApiContext there providing the name. Thanks for sharing your thoughts! This is a sane discussion that has helped me (and hope others!) understand better how jclouds-karaf works. --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-karaf/pull/65#issuecomment-99342852
