Move the logic about supporting virtual elements into the default version so custom versions can set it up differently.