implemented promises in MapleClient, still need to fix bugs regarding usage of q