Once this refactor is in working order, we can find the patterns that are common and factor them into their own token classes with complex, shared functionality. (eg. `FileInstance`, `DirectoryInstance`, `SimmilarWords`)