Add view abstraction