now using lists of speaker UUIDs on Recordings instead of speakers, so that the programmatic representation of a Recording is the same as the JSON representation, and doesn't rely on JSON files that may not exist