Port Touch to handler, add a demo to test touch