I'm working with the new custom modules and doing my best to integrate Googe Fonts. The user can select from 30 or so fonts and then dependant on which font is selected, that font's available weights will be displayed in another choice menu.
The user can then choose which weight they want for H1, H2, H3 and H4. I store the header weight selections as a HubL array and remove duplicates with the 'unique' filter . So if you imagine the user selects the following weights: H1 - 300, H2 - 300, H3 - 400, H4 - 400. I store the selections in the array like so: