Little refactoring and build fix.

Why do you want to avoid inheritance here? PyNodeID is really just a wrapper for NodeID, Ideally it should not exist. We just need to process arguments or output in some cases.