Going to restructure a little more before finalizing this... This reverts commit fa37967858.
fa37967858