Instead of passing them from the stack. The async operation is executed in a thread pool, which might Release its reference asynchronously and call a stale function pointer if it is sequenced after the stack invalidation.
-- v2: dinput/tests: Dynamically allocate async operation handlers.