Initial check-in of files.  Most pieces are stubbed at this point, outlining the functionality which will be implemented.
Simplified and moved some of the components into a common repository in order to leverage them on both client and server