Latest GUI stuff and no more 'dynamic'

- [ ] This is awesome, except it's also duplicating the code in `InstallComponent`. We should have that call this (or otherwise refactor so we don't have duplicate code).