       }
     }
 
-    # Run tests using Mocha with Phantom.JS
-    mocha: {
+    # Run tests using Mocha locally
+    mochify: {
       test: {
         options: {
-          urls: [
-            'http://localhost:3000/test/index.html'
-          ]
-          reporter: 'Spec'
-          run: true
-        }
+          reporter: 'spec'
+          extension: '.coffee'
+          transform: 'coffeeify'
+          cover: true
+        }
+        src: ['test/*.coffee']
       }
     }
 
     # Generate documentation with Codo
     codo: {
-      options: {
-        name: '<%= pkg.name %>'
-        output: './docs'
-        title: '<%= pkg.name %>\'s Documentation'
-      }
       app: {
         src: ['src/*.coffee']
-      }
-    }
-
-    # Clean all builds, get back to default state
+        options: {
+          name: '<%= pkg.name %>'
+          output: './docs'
+          title: '<%= pkg.name %>\'s Documentation'
+        }
+      }
+    }
+
+    # Clean all builds, get back to default state you were when cloning
     clean: [
-      'dev'
-      'docs'
+      'lib'
+      'dev/scroll-proxy.js'
       'test/testBundle.js'
-      '<%= pkg.name %>.js'
-      '<%= pkg.name %>.min.js'
     ]
 
     # Watch tasks to run while developing


  # Load grunt tasks
  grunt.loadNpmTasks('grunt-browserify')
  grunt.loadNpmTasks('grunt-coffeelint')
  grunt.loadNpmTasks('grunt-contrib-clean')
  grunt.loadNpmTasks('grunt-contrib-connect')
  grunt.loadNpmTasks('grunt-codo')
  grunt.loadNpmTasks('grunt-contrib-uglify')
  grunt.loadNpmTasks('grunt-contrib-watch')
  grunt.loadNpmTasks('grunt-http-server')
  grunt.loadNpmTasks('grunt-mocha')
  #grunt.loadNpmTasks('web-component-tester')

  # Set up the task aliases
  grunt.registerTask('lint', ['coffeelint:app', 'coffeelint:test'])
  grunt.registerTask('compile', ['coffee:dev'])
  grunt.registerTask('renew', ['clean'])
  grunt.registerTask('docs', ['codo'])
  grunt.registerTask('server', ['http-server:dev'])
  grunt.registerTask('sauce', ['connect', 'wct-test'])
  grunt.registerTask('test', [
    'coffeelint:test'
    'browserify:test'
    'connect'
    'mocha'
  ])
  grunt.registerTask('dev', ['lint', 'test', 'compile', 'docs'])
  grunt.registerTask('build', [
    'lint'
    'test'
    'coffee:dist'
    'uglify:dist'
    'docs'
  ])
  grunt.registerTask('default', ['build'])

    connect: {
      server: {
        options: {
          port: 8080
          base: '.'
        }
      }
    }

    # TODO: Build nice demo first :)
    # Run http server on port 3000 to test samples
    ###
    'http-server': {
      dev: {
        root: './demo/'
