Port powerhouse.js from Deferred-tools repo