Update page version programmatically (but not make that version the approved one)

Permalink
I've been following this guide:
https://documentation.concrete5.org/developers/working-with-pages/wo...

Whilst it's a 5.7+ guide, this code seems to work fine in 5.6.

What I'm trying to achieve in 5.6 is the following:

Update an existing page programmatically, as per the guide linked above. But the new page version this creates should not be the active version, and needs to be separately approved by an editor.