Userland virtual methods and abstract classes for ES6.