feature: add privdata(Private Data) for every message
feature: `on_data` and `on_drain` for message
impl gridfs