     // MARK: - Navigation
     
     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
-        if segue.identifier == SegueIdentifier.EditCategory.rawValue {
+        if segue.identifier == SegueIdentifier.editCategory.rawValue {
             let navigationController = segue.destination as! UINavigationController
             let controller = navigationController.topViewController as! ManageCategoryTableViewController
             controller.persistenceCentral = persistenceCentral

            let indexPath = tableView.indexPathForSelectedRow!
            let category = persistenceCentral.categories[indexPath.row]
            controller.category = category
        }
    }

    // MARK: - Table view data source

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return persistenceCentral.categories.count
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: kReuseIdentifier)!
        
        let category = persistenceCentral.categories[indexPath.row]
        cell.textLabel?.text = category.name
        
        return cell
    }

    override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
        if editingStyle == .delete {
            deleteCategoryAtIndexPath(indexPath)
            tableView.deleteRows(at: [indexPath], with: .fade)
        }
    }
    
    // MARK: Public
    
    @objc func reloadData() {
        tableView.reloadSections(IndexSet(integer: 0), with: .automatic)
    }
    
    // MARK: Private
    
    fileprivate func setup() {
        navigationItem.rightBarButtonItem = editButtonItem
        
        let notificationCenter = NotificationCenter.default
        notificationCenter.addObserver(self, selector: #selector(reloadData), name: NSNotification.Name(rawValue: kManageCategoryTableViewControllerDidDoneOnCategoryNotification), object: nil)
    }
    
    fileprivate func deleteCategoryAtIndexPath(_ indexPath: IndexPath) {
        let category = persistenceCentral.categories[indexPath.row]
        persistenceCentral.deleteCategory(category)
    }

}


// MARK: Constants

private let cellReuseIdentifier = "CategoryCell"

// MARK: Types

private enum SegueIdentifier: String {
    case editCategory = "EditCategory"
}

// MARK: - CategoriesTableViewController: UITableViewController -

final class CategoriesTableViewController: UITableViewController {
    
    // MARK: Instance Variables
    
    var persistenceCentral: PersistenceCentral!

    // MARK: UIViewController lifecycle
    
    override func viewDidLoad() {
        super.viewDidLoad()
