In most interactive systems, gestures are implemented as a state machine using procedural code. Gestures designed using mouse, keyboard and Touch support typically involves two levels of state, one to track low-level events like key presses, mouse clicks and touch interactions and one to track high-level events like drags, Zoom, pan, swipes, pinches, etc. We diverged from the state machine model and treated gesture handling as problem of pattern matching against interleaved event streams to develop a suite of gestures to support variety of data editing procedures.