Refactoring to ensure link and node types are supported as seperate entities