Add base view and renderContent abstraction