okay UI should hold all the stuff that makes up the user interface, atleast the graphic one.
so we need the major server to coordinate things.
and we need sub components to represent the various widgets.

for now all the we need is a button, with a rectangle in which it grabs the mouse and the image it displays.
when depressed the image should change, but otherwise we should be good.

the user should click
the click is grabbed by the game server, which passes it to the inputserver.
the inputserver then checks its list of active buttons, and sends the click to them.
the inputserver can keep a tree for each possible menu,  and the various entities can have a variable containing their type, which determines the menu displayed when it is selected.

