Update flush to allow for more granular controls and to track some meta data about events.