Sometimes you'd just like Hazel to hold its horses for a minute or so. When you have a number of conditions that need to be satisfied to make a rule true, that gets complicated.
But, without any scripting at all, it can be trivially easy.
Example: I am using a number of rules to keep my Downloads folder from being overwhelmingly stuffed. I want to identify files by their extensions, have Hazel move them to "big category" sorting folders on my Desktop, and in some cases do further sorting on those folders so, for example, all the PDFs and DOCs end up in separate destination folders. I'm thinking of each rule as a category sorter, so I'm using "match any condition" to list a number of conditions, any of which if true will send the file to the category folder.
In most cases, this happens as soon as the file is downloaded. One file type where I do not want this to happen is with installers that are in DMG, PKG, and related formats. Many applications will download such files during a software update and immediately launch them—just before Hazel moves them. The installer then fails, because the files it wanted to use were whisked out from under it between launch and execution.
I could write a script to make Hazel cool its jets. But a simpler solution is to add a nested condition that looks at the "Date Added" attribute on the file. That attribute can be as little as a minute or as long as multiple years. Simply saying "If Date Added is not in the last 10 minutes" and nesting a set of "Any" conditions underneath works beautifully.
And no scripts!