Hi Jennifer,
The way this works is as something is pushed to the queue, it hits the tasks table. The tasks table is fed who the email is coming from (from addy, friendly name), information about what is being sent (HTML Body, Text Body, Subject - All of which are pre-parsed to have info populated, PortalID, ModuleID, DistroCall - Which is what stored procedure to use to populate who should receive it, Distro Params - This correlates to PostID, ThreadID, ForumID depending on the type of call).
As the scheduled tasks execute, it looks to see what in the Tasks table is next for send. Once it determines this, it then uses the retrieved information (Distro Call, Params) to execute the stored procedure which will populate the list of emails to send to which causes an insert into the Task_Emails table.
Essentially, you will need to create another way to track the subscriptions as well as DistroCall (or stored procedures) used to populate the way to send information. The problem I see you facing is that the content of that email is determined at the time of post, thus trying to get a list of changed items will require another way to send content to the tasks table (ie. email body/subject).