Support training models on different sized training sets.
Add documentation.
Return an IReadOnlyDictionary.
Update TODO items.