After calling any of the `waitfor*` commands in the GUI RPC console, trying to shutdown / `bitcoin-cli stop` will hang `bitcoin-qt`.
{
        std::vector<std::string> paths;
        for (auto& path : ListWalletDir()) {
            paths.push_back(path.string());
        }
        return paths;
    }
    std::vector<std::unique_ptr<Wallet>> getWallets() override
    {
        std::vector<std::unique_ptr<Wallet>> wallets;
        for (auto& client : m_context.chain_clients) {
            auto client_wallets = client->getWallets();
            std::move(client_wallets.begin(), client_wallets.end(), std::back_inserter(wallets));
        }
        return wallets;
    }
    std::unique_ptr<Wallet> loadWallet(const std::string& name, bilingual_str& error, std::vector<bilingual_str>& warnings) override
    {
        return MakeWallet(LoadWallet(*m_context.chain, name, error, warnings));
    }
    std::unique_ptr<Wallet> createWallet(const SecureString& passphrase, uint64_t wallet_creation_flags, const std::string& name, bilingual_str& error, std::vector<bilingual_str>& warnings, WalletCreationStatus& status) override
    {
        std::shared_ptr<CWallet> wallet;
        status = CreateWallet(*m_context.chain, passphrase, wallet_creation_flags, name, error, warnings, wallet);
        return MakeWallet(wallet);
    }
    std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override