Menu interactions

Updates since last pull request
I will add a boolean called allowSnapback to do this.