Perhaps instead of using this for+if to work around [the issues with for-in and arrays](http://stackoverflow.com/a/500531/525872), maybe just use an iterator `i` that counts from 0 to router_map_callbacks.length?