Reworked Conditions and Dynamic Data

Also @Louis, you asked if we’d hit any limitations with visibility conditions, this is definitely one to test the new implementation against: