[09:47:24] snover: So, the Page object... [09:47:55] How would we expose the remote API and the custom API on the same level? [09:48:15] Is it ok to just augment the remote instance? [09:50:17] a new command is returned on every call so you actually have to modify the prototype. you can risk it and modify the prototype of `remote`, or you can create a command subclass [09:50:39] http://theintern.github.io/leadfoot/Command.html scroll to “Commands can be subclassed” [09:51:40] so an instance of that subclass would be what you return from the hypothetical w3cTest call I showed earlier [09:52:38] and function w3cTest(remote, url) { return new CustomCommand(remote).get(url).executeAsync(loadThePepScriptHal); } [09:55:43] And then w3cTest(remote, 'foo.html').findById('x').click().end().checkResults() will have checkResults() resolve to the custom Command instance? [09:55:51] or an instance of the custom Command [09:56:04] Not an instance of the base Command? [09:58:37] CustomCommand.prototype.checkResults = function () { return new this.constructor(this, function () { return this.parent.then(pollUntil(…)); }); } [09:59:14] And all the built-in commands are written like that, correct? [09:59:27] So when you call .end() you'll get back a CustomCommand. [09:59:32] yes [09:59:40] Thanks. [10:30:02] [PEP] scottgonzalez closed issue #186: Spec no longer says Mouse is pointerId 1 http://git.io/vJL2K