Add a specification class.

I don't know how we want to fill this in, yet. Either we create a specification
DSL in Java or we write everything in comments. The former is more expressive,
but the latter can be checked by the Java compiler and runtime.