Pattern for firing actions

Hi there - I’m looking for some advice about a good design pattern for firing actions attached to an interaction. I have an interaction class that I created for a really rushed prototype that has ended up as a bit of a hacky mess - it can launch quests, play dialogue / sounds / particles, set flags etc… i.e.: I’ve chucked all the functionality I needed for the prototype in there and it works, but its an unwieldy mess and I want to replace it with something more appropriate for the actual game. So my question is - what kind of patterns do people usually use to solve a problem like this?

My instinct is that I want to make something composable. I was thinking of having an Action interface and deriving specific actions as subclasses - so I might have a ShowActorAction object which just has an actor variable and on firing, it makes it visible. Other actions would be composed similarly. Then I could have an array of Actions on the Interaction which it fires when interaction is fired. I like that in the sense that it could be configured in the editor, but I worry about creating a lot of objects and whether that’s an anti=pattern in UE4 (also, are there pure data objects I can add? ones that don’t have a location in space - I want to add data to an object, not a physically located thing)

Thanks in advance for any thoughts you might have =)