template< class... Args> void invoke( Args&&... args);
This function invokes the handler in the owned object with a forwarded
argument list. Before the invocation, the owned object is destroyed, satisfying
the deallocation-before-invocation Asio guarantee. All instances of
which refer to the same owned object will be reset, including this instance.
Care must be taken when the arguments are themselves stored in the owned object. Such arguments must first be moved to the stack or elsewhere, and then passed, or else undefined behavior will result.