There was also a lot of unneeded overhead in Connection::new() to get the path to compare against, so split that out into a settings struct