proportions map + listeners.add() -> listen()