Refactor list rendering, make modes have redraw function