First attempt at shell architecture for the library.  Most general interfaces added here.