Rework screen calling structure and test some listeners