extract Listview MVC pattern as AbstractArrayAdapter and AbstractViewForViewItem