First you gotta make base chassis with unique IDs.
Then add empties to the positions of front bumper, rear bumper, skirt, spoiler, hood, rims, etc to each of the chassis.
Make several different meshes of each part. Make sure you name them properly (example: FB_Carbon1, FB_Stock1, RB_Carbon1, SK_Carbon1, SP_Fishtail, HD_Vertigo, RM_Lionhart, bla bla)
Make a dictionary for each chassis with what parts they support.
While in-game, load defaults in places of empties, when you are in the mod shop, check what part the player is changing, search for appropriate part and swap it.
Ofcourse you can optimize in many ways in, but that’s ‘one’ the basics.