When I first started out, I created the same HubSpot module over and over again because I didn't structure it in a way that would make it easily portable between portals. Lesson learned. This is the problem of re-creating the wheel every time you build a car - it's unnecessary and a big waste of time. The blueprints to create the wheel already exist. The mechanisms are already in place that allow you to produce a wheel. So why create it from scratch every time?
This process is even easier in the web development world. There's no grease or loud machinery involved, just tiny pulses of electricity and the shuffling of digital bits - easy, right?