Updated: Comment #0
The difference between View::newDisplay() and View::addDisplay() is very subtle.
Mainly, View::newDisplay() is used in the context of executing a view, when you need an actual instance back.
In fact, most of its code is wrapping addDisplay() and then working on ViewExecutable.
Move newDisplay() onto ViewExecutable.
Actually move it.
User interface changes
newDisplay() will move to the proper class