Using JsonSerializableObject yields some dynamic property notices. Newer jobs are just implementing Runnable. It's a pretty simple switchover and will be nice to have consistency, along with not breaking under PHP8.
Example fix: https://gerrit.wikimedia.org/r/1037819