     }
     
     private func configureLayout() {
+        scrollView.addSubview(textView)
         addSubview(scrollView)
-        scrollView.addSubview(textView)
-        
+
+        toolbarStack.addArrangedSubview(settingsButton)
+        toolbarStack.addArrangedSubview(touchButton)
+        toolbarStack.addArrangedSubview(followButton)
+        toolbarStack.addArrangedSubview(clearButton)
+        toolbar.addSubview(toolbarStack)
         addSubview(toolbar)
-        toolbar.addSubview(settingsButton)
-        toolbar.addSubview(`switch`)
-        toolbar.addSubview(clearButton)
         
         scrollView.translatesAutoresizingMaskIntoConstraints = false
         toolbar.translatesAutoresizingMaskIntoConstraints = false
-        settingsButton.translatesAutoresizingMaskIntoConstraints = false
-        `switch`.translatesAutoresizingMaskIntoConstraints = false
-        clearButton.translatesAutoresizingMaskIntoConstraints = false
-        
-        toolbarLeadingConstraint = toolbar.leadingAnchor.constraintEqualToAnchor(trailingAnchor, constant: -300)
+        toolbarStack.translatesAutoresizingMaskIntoConstraints = false
         
         configureScrollViewConstraints()
         configureToolbarConstraints()
-        configureSettingsButtonConstraints()
-        configureSwitchConstraints()
-        configureClearButtonConstraints()
+        configureToolbarStackConstraints()
     }
     
     private func configureScrollViewConstraints() {

    private var toolbarConstraints: [NSLayoutConstraint]? {
        guard let
        width = toolbar.widthAnchor.constraintEqualToConstant(320),
        height = toolbar.heightAnchor.constraintEqualToConstant(100),
        centerY = toolbar.centerYAnchor.constraintEqualToAnchor(centerYAnchor)
            else { return nil }
        return [width, height, toolbarLeadingConstraint, centerY]
    }
    
    private var settingsButtonConstraints: [NSLayoutConstraint]? {
        guard let
            centerX = settingsButton.centerXAnchor.constraintEqualToAnchor(toolbar.centerXAnchor, constant: -100.0),
            centerY = settingsButton.centerYAnchor.constraintEqualToAnchor(toolbar.centerYAnchor)
            else { return nil }
        return [centerX, centerY]
    }
    
    private var switchConstraints: [NSLayoutConstraint]? {
        guard let
            centerX = `switch`.centerXAnchor.constraintEqualToAnchor(toolbar.centerXAnchor),
            centerY = `switch`.centerYAnchor.constraintEqualToAnchor(toolbar.centerYAnchor)
            else { return nil }
        return [centerX, centerY]
    }
    
    private var clearButtonConstraints: [NSLayoutConstraint]? {
        guard let
            centerX = clearButton.centerXAnchor.constraintEqualToAnchor(toolbar.centerXAnchor, constant: 100.0),
            centerY = clearButton.centerYAnchor.constraintEqualToAnchor(toolbar.centerYAnchor)
            else { return nil }
        return [centerX, centerY]
    }
    
    // MARK: - Override

        }
    }
    
    private func toggleToolbar() {
        let collapsed = toolbarLeadingConstraint.constant == -75
        toolbarLeadingConstraint.constant = collapsed ? -300 : -75
        UIView.animateWithDuration(0.3) {
            self.toolbar.layoutIfNeeded()
        }
    }
    
    private func toggleUI() {
