Shiny restructure approach 1

@gordonwoodhull This is for discussion. Will drop a detailed email explaining the changes.