Fair enough, but we can still use inheritance and merge the execute() methods at least. All that would need to be different is getTypeId().