Model. In alpha state. Very loose, lightly-defined etc.
No implementation whatsoever.
I'll let javadoc comments guide you as far as possible.