     }
 
     // MARK: Private API
+    
+    func didFetchPayload(_ payload: Any) {
+        sharingPayload = payload
+        sharingButton.isEnabled = true
+    }
 
     @objc
     func onRefresh() {
         fetch()
+    }
+    
+    @objc
+    func onShare(sender: UIBarButtonItem) {
+        guard let payload = sharingPayload else { return }
+        let activityController = UIActivityViewController(activityItems: [payload], applicationActivities: nil)
+        activityController.popoverPresentationController?.barButtonItem = sender
+        
+        present(activityController, animated: true)
     }
 
     func fetch() {

            right: Styles.Sizes.columnSpacing
        )
        scrollView.addSubview(textView)

        fetch()
        feedRefresh.beginRefreshing()


    func handle(text: String) {
        emptyView.isHidden = true
        didFetchPayload(text)

        textView.text = text
        let max = CGFloat.greatestFiniteMagnitude
