Add touch events, refactor handle to use CSS