fire and forget
change onMessage-callback strucutre
impl active thread