Implements much of the data modeling for the Matches