Yeah, it is BC, but I would like to take it out and reduce the complexity. How bad is it to enforce linkType?

Another logical OOP step might be to forget `linkType` and just embed classes here. Although whilst that makes somethings easier it might not be practical.