I figured that the scope of setting level conditions would be on par with visibility conditions, and those are limited to "IsDefined", so level conditions didn't need to be be much more dynamic than that. Should this change, or should we wait until we see what kind of demands our dynamic levels require?

As a side node, I'm not entirely understanding the "IsDefined" check. That check evaluates to true for all of the simple conditions like "true" and "has_gl", plus the conditions with callbacks when the callback returns true?