If you need to store the bound versions in the instance, then it doesn't make sense to put the unbound versions in the prototype. Sorry about that.  There are now three different versions of each callabck. lostCallback, contextLostHandler and lostEventListener. I can't keep them straight.  The code you had before was better because there were only two versions of each.  Sorry!