Decent explanation. However I still think they screwed up naming it analogWrite(), should have been named pwmWrite();