Don't think we need to wrap this entire block with a context manager.  Maybe wrap each CLC fetch (e.g. self.get_instance_choices) instead?