This reverts commit 82c6716d. It will be added back with a cleaner design with the following commits.