@mtdowling it seems I can't find a reason why I think __toString is an implementation detail :) Still I feel it's a bad way to go based on experience dealing with exception in it.