(function() {
  angular
  .module('marvelousnote.notes', ['ui.router'])
  .config(notesConfig)
  .controller('NotesController', NotesController);

  notesConfig.$inject = ['$stateProvider'];
  function notesConfig($stateProvider) {
    $stateProvider

    .state('notes', {
      url: '/notes',
      templateUrl: 'notes/notes.html',
      controller: 'NotesController'
    })


    .state('notes.form', {
      url: '/:noteId',
      templateUrl: 'notes/notes-form.html'
    });
  }

  NotesController.$inject = ['$state', '$scope', 'NotesService'];
  function NotesController($state, $scope, NotesService){
    $state.go('notes.form');

    NotesService.getNotes()
    .then(function() {
      $scope.notes = NotesService.notes;
    });

    $scope.clearForm = function() {
      $scope.note = { title: '', body_html: '' };
    };


    $scope.save = function() {
      $scope.notes.create($scope.note);
      $scope.clearForm();
    };

    $scope.edit = function(note) {
      $scope.note = note;
      $scope.note = angular.copy(note);
    };

    $scope.clearForm();
  }
})();

(function() {
  angular
  .module('marvelousnote.notes', ['ui.router'])
  .config(notesConfig)
  .controller('NotesController', NotesController);

  notesConfig.$inject = ['$stateProvider'];
  function notesConfig($stateProvider) {
    $stateProvider

    .state('notes', {
      url: '/notes',
      templateUrl: 'notes/notes.html',
      controller: 'NotesController'
    })


    .state('notes.form', {
      url: '/:noteId',
      templateUrl: 'notes/notes-form.html'
    });
  }

  NotesController.$inject = ['$state', '$scope', 'NotesService'];
  function NotesController($state, $scope, NotesService){
    $state.go('notes.form');

    NotesService.getNotes()
    .then(function() {
      $scope.notes = NotesService.notes;
    });

    $scope.clearForm = function() {
      $scope.note = { title: '', body_html: '' };
    };


    $scope.save = function() {
      $scope.notes.create($scope.note);
      $scope.clearForm();
    };

    $scope.edit = function(note) {
      $scope.note = angular.copy(note);
    };

    $scope.clearForm();
  }
})();

Edit copies of notes, rather than the originals.