Theoretical question: best way to set up "process steps"

I have a non-framework PHP web application that lets registered users go through a series of process steps. Each step is a simple little task, like filling out a form, doing a survey, reading a document, etc.

I have gone through the Yii book, and am planning on using Yii for the next version of the application.

My question is about the best way to replicate the process steps. Currently, each step is a PHP class. Since the steps could be optional for certain users, or be "unlocked" (i.e. not sequential, but completed by the user in any order), that worked fine for straight PHP.

It seems like in Yii, it might be better to utilize either Modules or Extensions to handle the tasks for each step. Since both fall back to the overall site UI features, that would be helpful in maintaining a consistent look. And there are probably some basic module/extension management tools that I can leverage when I build the admin side of assigning process steps to individual users.

Any thoughts on using modules as opposed to extensions? Or maybe another option I haven’t considered?

In case you haven’t already found this extension, check out the demo. Seems to be very versatile to me.

/Tommy