Use ordered maps to retain insertion order.