Refactored to accept a solution path that is independent of a vcs repo (these ideas should be decoupled)