Rewrite Node's new functions to current standards and remove Node::as_abstract_node and node::create