Altered return hinting

Since this method can be invoked form a child class, the return type of "AbstractUrl" does not allow the IDE to provide proper autocomplete of the Url or UrlImmutable classes.

By returning `static` IDEs can figure this out from the invoke context, as well as it indicating that this class can be invoked form children.