Rename recompile to compile for tests task
Updates to interfaces
Update Promise implementation to be subclassable and more spec-compliant
CI!!