Put data source to its own package.
Prepare project for multiple packages.
Organize code even further to improve extensibility.
Add files from pridepack. Initial implementation.