Updated to include provider logic and Config

Based upon known requirements, the project has been fundamentally
altered to what we call the “Provider” model