Replaced a lot of listeners in Component with an "interactions" system.