Cannot rely on hasCode being unique, using counter to give each browser instance a unique ID