Split SolidNode into interface with different subclasses for different types.