Event-Driven API Design