~ The three listeners here could be stored as `Set`s rather than `List`, since order is not important.