Notes
Description
Our previous implementation clearly had some flaws, so let's refactor to classes now to have more flexibility for any number of fields we would add.