experimental ws callback protocol
handle callbacks