Cache message bodies locally so we don't need a constant round trip to switch between messages