Refactor of power abstraction.
Merge branch 'master' into 1.6.4