Implement swipe detection and refactor WorldListener