return StringMap instead of fixed list of parameters. This adds great
flexibility.
Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.
svn-id: r25134