Providers

Within the library, providers are used to generate some values. For example, NegativeValuesProvider is used to generate negative values. If you want to change/extend/override the standard behavior, then you can inherit from the base Provider and override the methods you need