Making reusable systems

If you are using just blueprints then I don’t know of any way better than what you are doing, but if you are using C++ and blueprints, have a look at the following: