I have no idea what's going on too, but are the possible outcomes mostly a text, except in some specific cases? Because then, maybe you could use a custom property to store this text, and then handle the exception cases where something else is required using if/else. Essentially, you would check the text of the custom property you assigned through the editor and run it through your own function, and then be doing the same if/else, but just when the text is not sufficient.
One thing to test for custom text properties is generating a translation file - I think they are there, but I don't remember since which AGS version.
One thing to test for custom text properties is generating a translation file - I think they are there, but I don't remember since which AGS version.