Introduce interfaces for factories - these will be renamed soon.
Split out access to internal node property on a factory into an internal interface, as it should be.