             return null;
         }
         // XXX arik/bahaa: mv to org.hola.util
-        public static function jsPostMessage(id:String, data:Object):void{
+        private static function jsPostMessage(id:String, data:Object):void{
             if (!ZExternalInterface.avail())
                 return;
             ExternalInterface.call('window.postMessage',
                 {id: id, ts: new Date().getTime(), data: data}, '*');
         }
-        public static function streamOpen(e:Event):void{
+        private static function streamOpen(e:Event):void{
             var req:Object = getReqFromStream(e.target);
             if (!req)
                 return ZErr.log('req not found streamOpen');
             jsPostMessage('holaflash.streamOpen', {id: req.id});
         }
-        public static function streamProgress(e:ProgressEvent):void{
+        private static function streamProgress(e:ProgressEvent):void{
             var req:Object = getReqFromStream(e.target);
             if (!req)
                 return ZErr.log('req not found streamProgress');

            inited = true;
            return inited;
        }
        public static function hola_fetchBin(o:Object):Object{
            var id:String = 'fetch_bin_'+free_id;
            free_id++;
            var url:String = o.url;

                clearTimeout(req.timer);
            delete req_list[id];
        }
        private static function hola_fetchBinAbort(id:String):void{
            var req:Object = req_list[id];
            if (!req)
                return;
            if (req.stream.connected)
                req.stream.close();
        }
        private static function getReqFromStream(stream:Object):Object{
            // XXX arik/bahaa: implement without loop
            for (var n:String in req_list)
            {
