This has no impact on your PR, but do *all* of these really need to be virtual? A lot of the junk in pfPython is virtual and doesn't need to be, so I'm wondering if we have more random virtualness here :/