Move common functionality to abstract view and presenter