Making a combat system with multiple weapons

Currently I’m trying to make a combat system that fits in for multiple weapons. For instance, a sword, a spear, great-sword etc. But, I’m not sure on the best way to approach this.

My idea was to make a module containing all the information about each weapon, which animations it uses, the CFrames for putting it on the back, the range. But I’m trying to see if anybody has a easier or more optimal method.

Currently the combat system is within a starter character script.

If I was you I would copy the Endorsed Weapon Kit framework.
They basically put tags on all of their weapons and add checks to make sure they are correct.
All weapons have a Configuration instance inside of them which contains basic information like Damage, Cooldown, etc. By using this method, you wont need any scripts inside the weapons themselves. They also replicate most of their scripts for visual effects in replicated storage so the client can do most of the work.

To learn more about this, I recommend that you checkout their scripts: Weapons Kit | Roblox Creator Documentation

EDIT: Even tho its made for firearms, you can easily understand the concept and their framework.