Abstract base classes which are clearly not usable should be abstract; render and update changed to pure virtual