Added initial plumbing for caching functionality and message packing