Events As First-Class Citizensby@shoup.randy