Mimics the structure of PyQt5 but provides PyQt4 as a fallback solution