store data in set_data, still need to map in _render (but possibly cache later)