code: def inject_context(self, __context_dict__=None, **context):
          
          context = context or __context_dict__
          self.context_keys |= set(context.keys())
          for key, value in context.items():
              setattr(self, key, value)
          for command in self.subcommands.values():
              command.inject_context(context)
docs: Map context dict to this instance as attributes and keep note of
          the keys being set so we can pass this along to any subcommands.