What if there were cards that were similar to "while" loops in programming; that is, they have an effect over and over until a certain condition is met? I don't know if they'd require their own type or if you could just call them Durations. But for example:
Card 1 - Duration -$5
At the beginning of each of your turns, reveal your hand. If you did not reveal a Province, +$1. If you did, trash this.
---
When you buy this, put it into play immediately.
Or:
Card 2 - Duration - $5
At the beginning of each of your Buy phases, you may discard a card. If you did, +1 card and +1 buy. When you buy a card costing $6 or more, trash this.
---
When you buy this, put it into play immediately.
I'm sure there are horrible balance issues with these, but I like the idea. Can anyone think of others? I haven't come up with a way to make a Village-type one yet.