Allow @DataProvider for fields and fix documentation
Use @VisibleForTesting annotation
Add functionality for ExtendedDataProvider