Blueprint - adding component by class while runtime

Hi,
is there any way to add custom actor component to blueprint by class? Blueprint allows me only nodes with predefined class. I would need it for my weapon modular system , but it seems I would have to make too many blueprints or God blueprint.

Example: A lot of guns - one gun BP and datatable with all information(visuals, classes of actor components, …) .

              Five and more guns with same BP, but with different firing system(semi, auto, laser type, charge, ...).

Thank you for every answer.