Now with optional events. Useful for when you don't know if you're going to make a call or not (win-gen and encodings).