PCT-671: Support for explain

Alpha prototype, WIP
I'm just thinking about array of pointers instead of array of structs.
In different parts of our code we have different approach to this, so just wondering what will be better (I prefer array of pointers :) ).