Add more sophisticated gesture API