Setup listeners only once