Subclass ShellProxy for Manager
Explicitly declare name
Split main out in preparation for modules
Basic plugin support
Extract set into a plugin