Why is execute on the view model instead of on the operation itself? Seems to me the view model's job is to tell the operation what to search for, but that search should occur within the operation.