Redesign the architecture by adding a TVSource interface.