Text this: Detecting and Coordinating Complex Patterns of Distributed Events with KETAL