     typealias SendLocationAction = (locationInfo: Location.Info) -> Void
     var sendLocationAction: SendLocationAction?
 
-    @IBOutlet weak var cancelButton: UIBarButtonItem!
-    @IBOutlet weak var doneButton: UIBarButtonItem!
-    @IBOutlet weak var mapView: MKMapView!
-    @IBOutlet weak var searchBar: UISearchBar!
-    @IBOutlet weak var searchBarTopToSuperBottomConstraint: NSLayoutConstraint!
-    @IBOutlet weak var tableView: UITableView!
-    @IBOutlet weak var activityIndicator: UIActivityIndicatorView!
-
-    var isFirstShowUserLocation = true
-
-    var locationPin: LocationPin? {
+    @IBOutlet private weak var cancelButton: UIBarButtonItem!
+    @IBOutlet private weak var doneButton: UIBarButtonItem!
+    @IBOutlet private weak var mapView: MKMapView!
+    @IBOutlet private weak var searchBar: UISearchBar!
+    @IBOutlet private weak var searchBarTopToSuperBottomConstraint: NSLayoutConstraint!
+    @IBOutlet private weak var tableView: UITableView!
+    @IBOutlet private weak var activityIndicator: UIActivityIndicatorView!
+
+    private var isFirstShowUserLocation = true
+
+    private var locationPin: LocationPin? {
         didSet {
             reloadTableView()
         }
     }
 
-    var searchedMapItems = [MKMapItem]() {
+    private var searchedMapItems = [MKMapItem]() {
         didSet {
             reloadTableView()
         }
     }
 
-    lazy var geocoder = CLGeocoder()
-
-    var userLocationPlacemarks = [CLPlacemark]() {
+    private lazy var geocoder = CLGeocoder()
+
+    private var userLocationPlacemarks = [CLPlacemark]() {
         didSet {
             if let placemark = userLocationPlacemarks.first {
                 if let location = self.location {

        }
    }

    var pickedLocationPlacemarks = [CLPlacemark]() {
        didSet {
            if let placemark = pickedLocationPlacemarks.first {
                if let location = self.location {


    // MARK: Actions
    
    @IBAction private func cancel(sender: UIBarButtonItem) {

        dismissViewControllerAnimated(true, completion: nil)
    }

    @IBAction private func done(sender: UIBarButtonItem) {

        switch purpose {

