Remove the PIMPL classes from the global scope. This gets rid of one line of boilerplate per class. Use the VSP_ and V_ macros for PIMPL-related functionality to decouple the implementation from that of Qt's. The VSP_[DECLARE|DEFINE]_PRIVATE mechanism copes with multiply-inheriting PIMPL, in contrast to Q_DECLARE_PRIVATE.