- all callbacks use result object
- custom commands, page object/section commands have same behavior/interface
- client/api property consistency
- better separation of user-defined apis and internal properties (page objects etc)
- page/section objects have full api surface
- Page objects, commands classes, having proper instanceof-checkable instances (no weird F() constructor)
- Support command overrides rather than throwing an error
- no legacy stuff
- afterEach hook can receive the browser object only in its async form
- async behavior consistency/clarity