this seems redundant - why not just expose the mping server and client classes separately and have main() decide which to initialize and run?