old_name can be empty string, not only None. Store prop in attribute, so it can be easily accessed
splitted create_model to two methods
more readable exception for UrlBuildingError