Fixes #57 Reimplement NodeID so that it doesn't use an inner class

Not much to it, simply made NodeID not abstract and moved the methods
from impl to main class.