expose event factory interface