processButton :: (ContainerClass b) => IORef GameState -> b -> Int -> (Int,Button) -> IO ()
processButton g box side (k,button) = do -- side: 0 = right, going CCW
  containerAdd box button
  widgetShow button
  G.on button buttonActivated $ buttonAction g side k
  return ()
processButton :: (ContainerClass b) => IORef GameState -> b -> Int -> (Int,Button) -> IO ()
processButton g box side (k,button) = do -- side: 0 = right, going CCW
  containerAdd box button
  widgetShow button
  G.on button buttonActivated $ buttonAction g side k
  return ()
processButton g box side (k,button) = do -- side: 0 = right, going CCW
  containerAdd box button
  widgetShow button
  G.on button buttonActivated $ buttonAction g side k
  return ()