Changed the way it all works to be more like the serialization asio example, doesn't compile at the moment, but I have other work to do.