Enforce only 1 official and 1 unofficial CaseRecord per Case using subclasses of CaseRecord and has_one in Case