Simplify node ownership tracking, add pre-assert