bind events on pubsub, and fn for volume