Many different apps can load and run subscription-manager code, and they are not particularly consistent in how they do it.
Some parts of subscription-manager code only need to happen once per process (log and config setup for ex). Other aspects can happen more often, but should be kept to a minimum (loading client side certificates, reading/write caches, etc)
ManagerCLI() creates an instance of each of the managercli.*Command classes.
ManagerCLI().main() runs the
Command.main() of the command. The
parses all the args, sets up connections to Candlepin (uep, etc.) if needed, and
CliCommand() subclasses are
init()‘ed, but only one will have its