What is communication viewed as