I used something like the workflow of content being published (say on a website). Someone initially creates a content object (the start event) and sets the initial state of the content. Then based on received messages from the client, the state would be updated.

I have tried to keep the picture as simple as possible, so there are certain aspects that are inferred that you would add in practice.

Is there a better way to model this? Other patterns? People's thoughts?

Heres one for bill payment. A bill is in the unpaid or paid states. In the unpaid state there is due and overdue sub-states. Within the due state there is the payment scheduled sub-state etc. Hence hopefully you can see these as nested scopes...

I used something like the workflow of content being published (say on a website). Someone initially creates a content object (the start event) and sets the initial state of the content.

Given content management implies a more object centered or document-centric approach to process modeling, maybe a CMMN model provides a better illustration? For example, a document's state may go directly from "published" back to "draft" - this implying a person/worker noticed an error, and outside the context of the process model, set the content's "review" status to something like "contains errors" (i.e. draft-state).

Now, regardless of the token's position in our process model, it must jump from "state:published" to "state: draft" - basically representing the need for cross-cutting a BPMN model so that all tasks become reasonably accessible regardless of path. Hence, CMMN is the better solution.

BPMN models tend to "straight-jacket" documents into activities - as described above in an absence of path from "published" to "draft". Acknowledging that your model doesn't represent actual activities... though implied given a request for "state-machine-style" (also taking a liberal position for discussion).