Split out grid components into separate files for ease of maintenance