Although it's documented fairly thoroughly in model.js I've added the docs in here as well.