Jeroen,
I'm not sure I'd use threads for this, though you can if you like. Thread are more useful, ime, for having multiple things going on at the same time, though you have to be dealing with a machine capable enough of handling more than one process effectively. Usually this means something fast, with a lot of RAM, and running a recent version of Windows.
Instead, I think you'll want to look at properties and using custom routines to set their values. For example, in the object that changes, I'd probably create a status property. Then I'd create a setStatus methods that's used as the write procedure for that property. This lets you implement "side-effects" for what happens when the Status property changes.
For more information, use Delphi's Help system to open the Creating Custom Components book, then look for the Creating properties section and the sub-section called "The Write Method." You can do this from the Contents tab of the Delphi Help files.
Hope this helps...
-- Lance