Why? It covers a lot of cases, and is very readable. Splitting it up is going to make the logic a lot harder to follow and not going to help subclassing a lot, I suspect (all the common cases should be covered here already with things like the overrideable strings).