refactoring more logic into button item views