I don’t think there’s a ‘best’ way, but this looks pretty good. Uses a BP hierarchy and makes things ‘inventorisable’ using a component: