Make the Shell class a Facade

The Shell class should just be a convenience class that hides away the complexities of the subsystem.