Sprite and basic Animation re-usability nightmare

So here is my problem. I have a root blueprint called main_menu that is for my main menu scene. Within that I want to place sprites and configure them to animate around their relative origins given some basic parameters. I’ve spent hours looking into all of the possible ways this can be achieved. I cannot seem to find a simple single solution.

First, I tried to create a blueprint that accepts a texture and some basic animation properties. The blueprint just renders a single quad using the texture and can animate given the properties just fine. The ISSUE is I cannot reuse this blueprint easily within my main_menu blueprint as you have no way of setting the texture properties in the viewport. You must add some logic to each one in the main_menu construction script which is a pain.

Next, I’m fully aware there is a PaperSprite component that you can use within a blueprint. This is great, except I can’t extend this component. It would force me to create a basic AnimationComponent and attach it to the sprite. This just means that if I have 10 sprites that animate then I would also have 10 AnimationComponents assigned to each.

I thought I would be able to make a Component that could do both but it looks like components do not contain viewports or visual elements. It seems as though they are just for manipulation purposes.

What is the correct solution to this problem. Is this possible to create a single reusable blueprint/component to achieve this???

Thanks,