Update to simplify even more

I tried to put this into practice in our first use case scenario, being Configuration, and it just came across as overtly complicated for something so simple.

I've really simplified this into a single class and corresponding interface.

I've also added `pathinfo` support to allow a breakdown of details for the returned results, as this is required for the upcoming Configuration component.

/cc @psychoticmeow