.findAll() now only adds listeners once per type