My highest priority here is actually the immediate result, like when making laser-sight type fx where I would either get frame delay on the movement of it or a frame delay on the hit-result.
As for the structure, it’s always nice being able to just fire, make calculations and keep going, rather than fire and then do all the calculations somewhere else. Passing a function could definitely come in handy
The ease of use-problems that I have are however not a huge deal for my workflow right now. My use case right now is that I have one "bullet manager"script-component that handles all the logic for my beams, projectiles and damage fields, and since the tools are clearly built around the idea of logic being handled on separate components on game objects, I realize that I’ll have to deal with some stuff because of that.