This class needs documentation for what all of these fields are/mean