     detail:
       counter: counter
   window.dispatchEvent event
-proxy.addListener 'network.error.retry', handleProxyNetworkErrorRetry
 
 handleProxyNetworkInvalidCode = (code) ->
   event = new CustomEvent 'network.invalid.code',

      path: path
      body: body
  window.dispatchEvent event

# Global data resolver
proxy.addListener 'game.on.request', handleProxyGameOnRequest

start2Version = 0
initStart2Value = ->

    detail:
      code: code
  window.dispatchEvent event

handleProxyNetworkError = ->
  window.dispatchEvent new Event 'network.error'

proxyListener =
  'game.on.request': handleProxyGameOnRequest
  'game.on.response': handleProxyGameOnResponse
  'game.start': handleProxyGameStart
  'game.payitem': handleProxyGamePayitem
  'network.error.retry': handleProxyNetworkErrorRetry
  'network.invalid.code': handleProxyNetworkInvalidCode
  'network.error': handleProxyNetworkError

window.addEventListener 'load', ->
  for eventName, handler of proxyListener
    proxy.addListener eventName, handler

window.addEventListener 'unload', ->
  for eventName, handler of proxyListener
    proxy.removeListener eventName, handler
