- Refactor conditions to add visitors instead of evaluating them
- Move tags and parameters to condition nodes
- Add pre-defined JSON files for tags
- Add a JSON definition for user property condition node