Cleaner JS inheritance
More sane require() paths
JavaScript unit tests