Generalized list ui/controller