How can I avoid redundancies when I have multiple distinct Roblox tools with clientside code?

In Roblox, I have two distinct tools with identical clientside code. The serverside code determines their difference to behave differently. However, with identical clientside code, whenever I change one, I have to change the other, and it’s redundant in the game and also tedious. How can I avoid redundancies when I have two nearly identical but distinct tools with identical clientside code? Basically, I have one serverside script to handle the remote events, in ServerScriptService, and two tools, and it happens that they both invoke the same serverscript and are otherwise identical. How can I avoid redundancies?