The closures returned by the LiveQueryHelpers class use the serializer
and storage pointers of the helpers object. But the lifetime of those
pointers is tied to the helpers object, so we access invalid pointers if
one of the closures is invoked after the deletion of the helpers object.
So instead of "this" we capture the actual pointers in the closures.
Since they are shared pointers, the used objects will stay valid for the
whole life time of the closure.
Again a mistake which was spotted thanks to the ASAN build.