Modified the way io_service works to be more like the asio example