Extracted the program into a field
Added a parent to the ASTNode
Fixed the ID of a node
A now can now delete itself.
Removing the node from the manager upon deletion
Treating the deletion of a  node