Rename ProviderDatabaseHelper to DatabaseHelper
Refactore the code, create separated interfaces and classes, add tests