[CS] Stop subclassing/copying nodes around

Use delegators instead where they're required