First pass at Client/Server framework.