This macro is actually superfluous if we simply treat local and remote servers the same. eg for sendMessage:

https://gist.github.com/Mononofu/5663248

The getter methods are simply glorified hash tables, which work like this: https://github.com/sepm-depm/sepm-group/blob/zchat/zchat/ChatDB.cpp#L33

Actually exactly like this, I could just merge that branch we could reuse that code.