abstracting out a listenToMany func