[ENH] Refactoring to make data collection and indexing more explicit

git-svn-id: file:///var/local/code.tiki.org/tikisvn/trunk@46602 b456876b-0849-0410-b77d-98878d47e9d5