It is. It’s called Child Actor Component. It’s a component that can be added to an actor, and it will instantiate another actor. A child can talk back at the parent like so:
Ideally, you’d implement an interface if modular is the name of the game. However, the support is not great, the system was never fully finished and is still underdeveloped / limiting. But it depends on your particular needs. It might be sufficient, it might suck big time.
Also, you can extend some of the existing components:
You then get a (almost) full blueprint with a graph, variables, functions and so on. These can then be added to actors, each can drive its own logic, sport exposed properties, implement interfaces. Now you have a custom Static Mesh Component to populate your actors with, inheritance is supported, too.
It does not have to be a Static Mesh Component. It could be a widget component, skeletal mesh, spline mesh…