Improving hooks invocation. Removed Extension.prototype.invoke() and moved all hook invocation logic to Prana application. This was done to avoid additional method calls and in preparation to implement a cache for hook implementations. On prana.collect() we are now not using prana.invoke() to make it possible to pass fresh processed data collected from previous hook invocation to the next invocations.