 import Deferred
 import BSWFoundation
 
-public typealias ProfileEditionHandler = Void -> Void
-
 public enum ClassicProfileEditKind {
     case NonEditable
-    case Editable(UIBarButtonItem, ProfileEditionHandler)
+    case Editable(UIBarButtonItem)
 }
 
 public protocol ClassicProfileViewModel {

    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>>!
    let photoGallery = PhotoGalleryView()
    let titleLabel = UILabel.unlimitedLinesLabel()
    let detailsLabel = UILabel.unlimitedLinesLabel()

        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) {
