           }
         ]
     watch:
-      process:
-        files: ['src/**/*.coffee']
-        tasks: ['coffee:process']
+      files: ['src/**/*.coffee']
+      tasks: ['coffee:process']
     mochaTest:
-      process:
-        options:
-          reporter: 'spec'
-          require: 'coffee-script/register'
-        src: ['test/**/*.coffee']
+      options:
+        reporter: 'spec'
+        require: 'coffee-script/register'
+      src: ['test/**/*.coffee']
   )
 
-  grunt.registerTask(
-    'make'
-    [
-      'coffee:process'
-      'uglify:process'
-    ]
-  )
+  grunt.registerTask 'release', (type = 'patch') ->
+    grunt.task.run 'bumpup:' + type
+    grunt.task.run 'coffee'
+    grunt.task.run 'uglify'
 
-  grunt.registerTask(
-    'test'
-    [
-      'mochaTest:process'
-    ]
-  )
+  grunt.registerTask 'test', ->
+    grunt.task.run 'mochaTest'

          }
        ]
    uglify:
      options:
        report:           false
        preserveComments: false
        banner:           '// <%= pkg.name %> <%= pkg.version %>\n// <%= pkg.repository.url %>\n// <%= grunt.template.today("yyyy-mm-dd HH:MM:ss Z") %>\n\n'
      process:
        options:
          mangle:   true
          compress: false
          beautify: false
        files: [
          {
            expand: true


  grunt.initConfig(
    pkg: grunt.file.readJSON('package.json')
    bumpup:
      options:
        updateProps:
          pkg: 'package.json'
      files: ['package.json', 'component.json']
    coffee:
      make:
        options:
          bare: false
        files: [
          {
            expand: true
