Setup provides interfaces that should be used or implemented by Setup data and schema installs, upgrades and uninstalls.
Implement InstallSchemaInterface and/or UpgradeSchemaInterface for DB schema install and/or upgrade.
Implement InstallDataInterface and/or UpgradeDataInterface for DB data install and/or upgrade.
Implement UninstallInterface for handling data removal during module uninstall.
Setup application provides concrete implementation of a module context and setup DB/schema resources, so they can be used to determine current state of the module and get access to DB resource.