This reverts commit 545241aa06. These commits are WIP stuff that should not be in the master branch. A work branch has been created to finalize this code.
545241aa06