I would suggest to do the observing outside the `stopTone` function. Maybe in the `touchend` handler.