this creates a layer of abstraction so we can move to v2-2 easier
Issue: https://coreosdev.atlassian.net/browse/QUAY-630
- [ ] It works!
- [ ] Comments provide sufficient explanations for the next contributor
- [ ] Tests cover changes and corner cases
- [ ] Follows Quay syntax patterns and format