Yes, the ctor needs to know what sort of batch it is :)
The zpp was already correct, just not the reflection which I noticed when fixing the ->execute() argument