It had nothing to do with Chrome's extension API. The API works perfectly fine. It has to do with the nature of JavaScript where syntax errors are "forgiven" leading to unforgivable bugs that require line by line review unless you use a tool to check your syntax. This was not the first, last, or only syntax caused bug I experienced. It was simply the most frustrating and inexplicable.