Note that you cannot (and must not) instantiate this class or its
subclasses.

Subclasses must not override __init__ or __new__ as it is
absolutely undefined when these objects will be created or
destroyed. All persistent state of PIs must be stored in the
underlying XML. If you really need to initialize the object after
creation, you can implement an _init(self) method that will be
called after object creation.