Major clean up of the TV section

Like the title says, it's a major clean up of the TV section.

There's still a couple of things that need cleaned up, but they depend on code that's shared by the other two sections, so it'll need to wait until I've cleaned them up first.