Refactored Node into an interface with RealNode backing it.