Yeah event dispatcher! Extract time progress logic from Batch
Replace DoctrineBatch with a DoctrineEventListener