Should be derived from database events, but depends on #79
Should be derived from database events, but depends on #79