Synchronized listener add/remove