Cleaned up JS. Converted abstract driver to trait.