Extract doPowerAssert function to eliminate duplication.
Now empower does not depend on Function.prototype.bind