Server-side version also creates new condition instances on each call, I think @eminn just used the same approach.