PathContainer now has separate parsePath and parseUrlPath methods each creating PathSegment and UrlPathSegment respectively.