Refactor Contact views to be cleaner