#528 Youtube API amendments

This PR is to address deficiencies discovered in #460, which calls for more testing "seams" to be present in the code. If possible I will try and address #445 as well, to avoid having to rewrite tests again and again as the architecture changes.