Resolves #17

Relates to #14 

Updated the pathing to be in it's own class. Updated the behaviour accordingly. Also introduced dependency injection so that the tests can accurately mock the path class.