Remove Error::NoCode

It's a required part of the constructor now.
Remove Error::NoName

It's also a required argument to the constructor.
Define class methods with block syntax