also pass VirtualPage object itself to callback function