Why GUI need to know about replies on commands?
I think, commands should report not in form "handleResponse(command, response, params)" but in form "handleResponse(command, status, type, params)"
since lot of commands have same reaction: report to user in popup/textblock some text, just fine enc.
F.e. I have copied ban/unban/banlist to voice/unvoice/voicelist and should edit gui too, while it just reports text identically.
So, there should be several standard reactions in gui, so commands can be more easily introduced