approaches the messiness of CellEditor