         }
     }
     
-    func addAndConfigureNavigationButton() {
-        
-        self.navigationItem.setRightBarButtonItem(UIBarButtonItem(title: "Navigate", style: .Plain, target: self, action: "navigateButtonTapped"), animated: true)
-        self.navigationItem.rightBarButtonItem?.image = UIImage(named: "CarIcon")
-        
+    func generateNavigationButton() -> UIBarButtonItem {
+        // Button that lets user navigate to charger address.
+        let navigationButtonItem = UIBarButtonItem(title: "Navigate", style: .Plain, target: self, action: "navigateButtonTapped")
+        navigationButtonItem.image = UIImage(named: "CarIcon")
+        
+        return navigationButtonItem
+        
+    }
+    
+    func generateCallButton() -> UIBarButtonItem {
+        // Button that lets user call the number associated wtih the charging station.
+        let callButtonItem = UIBarButtonItem(title: "Call", style: .Plain, target: self, action: "callButtonTapped")
+        callButtonItem.image = UIImage(named: "CallIcon")
+        
+        return callButtonItem
     }
     
     func navigateButtonTapped() {

        if let subtitle = charger?.chargerSubtitle {
            labelSubtitle.text = subtitle
            // Configure navigation button
            addAndConfigureNavigationButton()
        }
        
        if let numberOfPoints = charger?.chargerNumberOfPoints {

        if let chargerIsOperational = charger?.chargerIsOperational {
            updateChargerOperationalStatus(chargerIsOperational)
        }
        
        self.navigationItem.setRightBarButtonItems(navigationButtonItems, animated: true)
        
    }
    
    func updateChargerOperationalStatus(isOperational: Bool){
