Encapsulate gesture handling in InteractionController