to an abstract base class QgsVectorLayerTools in the gui library, so these can be reimplemented for a custom app, but can also be used from plugins or in the gui library.