     var titleInfo: NSAttributedString { get }
     var detailsInfo: NSAttributedString { get }
     var extraInfo: [NSAttributedString] { get }
-    var editKind: ClassicProfileEditKind { get }
 }
 
 public class ClassicProfileViewController: ScrollableStackViewController, AsyncViewModelPresenter {
     
     public var dataProvider: Future<Result<ClassicProfileViewModel>>!
+    public var editKind: ClassicProfileEditKind = .NonEditable
     let photoGallery = PhotoGalleryView()
     let titleLabel = UILabel.unlimitedLinesLabel()
     let detailsLabel = UILabel.unlimitedLinesLabel()

import Deferred
import BSWFoundation

public typealias ProfileEditionHandler = Void -> Void

public enum ClassicProfileEditKind {
    case NonEditable
    case Editable(UIBarButtonItem, ProfileEditionHandler)
}

public protocol ClassicProfileViewModel {

        scrollableStackView.addArrangedSubview(detailsLabel, layoutMargins: layoutMargins)
        scrollableStackView.addArrangedSubview(separatorView, layoutMargins: layoutMargins)
        scrollableStackView.addArrangedSubview(bioLabel, layoutMargins: layoutMargins)
        
        //Add the rightBarButtonItem
        switch editKind {
        case .Editable(let barButton):
            navigationItem.rightBarButtonItem = barButton
        default:
            break
        }
    }
    
    override public func viewWillDisappear(animated: Bool) {
