PHL: initial cut at events; lots of shared code with nyc