All those string throws should be `throw new Error(...)` instead: http://www.devthought.com/2011/12/22/a-string-is-not-an-error/