The Firearm Component only handles behaviour that is universal to all Firearms, like loading and unloading the chamber, tracking the current Magazine, and Fire Modes.
Other Firearm components operate on a Compositional workflow, meaning you can extend your Firearm's functionality by adding them to your object