This makes subobject attachment and detachment generic, making the views much easier to code up.