Fully breaking artifact dependency on path type

by only using injected information and using the `Source` rather than
reaching through the path to get Fullpath, which was resulting in
reading the wrong thing.