Even though the trash can looks like a normal folder, it behaves quite differently internally. This approach seemed like a good compromise for speed and stability, while not messing with the WPS internals too much. I had initially thought about using a subclass of WPAbstract for the trash can, but this would create lots of entries in OS2.INI with the usual problems associated with that.

Besides, using a subclass of WPTransient has another advantage. Since the trash objects (the transient objects) are recreated from scratch after every WPS restart, if something goes wrong really bad, you can manually delete all the hidden \TRASH directories on all drives, and after the next Desktop startup, the trash can is completely empty.