model listeners working with denormalized data