Virtual attributes mirroring Ecto's virtual fields

Great, thanks very much @zachdaniel, appreciate the thorough answer!

I was looking in the wrong place, it hadn’t clicked with me that there were some action-specific approaches rather than defining them as part of the attribute block.