   profile_options: (username) ->
     title: 'About ' + username
     active_tab: 'show'
-    mainRegion: (user) =>
-      @makePermalinkEvent( user.get('username') )
+    render: (main_region, user) =>
+      @makePermalinkEvent( username )
 
-      new ProfileView
-        model: user
-        collection: window.Channels.orderedByAuthority()
-        created_facts_view: @getFactsView user.created_facts()
+      main_region.show(@profile_views)
+
+      @restoreProfileView username, =>
+        new ProfileView
+          model: user
+          collection: window.Channels.orderedByAuthority()
+          created_facts_view: @getFactsView user.created_facts()
+
+      @profile_views.clear()
 
   notification_options: (username)->
     title: 'Notification Settings'
     active_tab: 'notification-settings'
-    mainRegion: (user) ->
-      new NotificationSettingsView model: user
+    render: (main_region, user) ->
+      main_region.show(new NotificationSettingsView model: user)
 
   showPage: (username, options) ->
     app.leftBottomRegion.close()

    app.leftMiddleRegion.show(channelCollectionView)
    channelCollectionView.setActive('profile')


  showUserLarge: (user) ->
    userLargeView = new UserLargeView(model: user);
    app.leftTopRegion.show(userLargeView);

      onFetch: (user) =>
        @showUserLarge(user)
        @main.tabsRegion.show(@getUserTabs(user, options.active_tab))
        options.render(@main.contentRegion, user)

  switchToPage: (username, user, path, options)->
    @main.setTitle options.title
    @main.tabsRegion.currentView.activate(options.active_tab)
    options.render(@main.contentRegion, user)
    Backbone.history.navigate path, false

  getUserTabs: (user, active_tab) ->
