perform propagation analysis once per method
change backtracking to use set, rather than list
explore only 1st part components when building listener relations