Represents the different types of sets of virtual functions which can be implemented for each provider