Refactored Node
No longer relies on the undefined behavior