moving the implicit data update to a separate constructor
moving the implicit data update to a separate constructor
fix: avoid tampering with self.consumer to prevent certificate clobber