Various tweaks

Sorry for a pull request with a bunch of unrelated stuff in it!

Each commit has a message which should describe the thoughts behind it. The final commit (0447b18) is the one I'm least sure and would be interested to discuss if you think it's a good idea or not.

I'm just leaving the office now so sorry I haven't given all of the information here. I will try to add to it tomorrow if there is anything that needs clarification!
i think it would be better if we also had `this.videoDimensions` specified in the constructor, so that we could know that this field would get something in the future