base messaging implementation fleshed out more; awaiting corresponding client implementation to test with