Wrap self.run in an anonymous function wrapper so self always gets the same scope.

props azaozz. fixes #23780

git-svn-id: https://core.svn.wordpress.org/trunk@23703 1a063a9b-81f0-0310-95a4-ce76da25c4cd