Touch state model and controller for CanJs