Controllers and listeners structured