add a record method that lazily spawns a aggregate calculation before publishing