Building "Utility-first" Design Systems (Part 1)