Add `values()` method, and re-add constants.

This is an implementation of the changes discussed in #19.

Ah, I see what you mean. But you can still override the method if you need to, just without access to the parent? 

I don't think this is necessarily a bad thing. But non-static is fine too.