bitcoincore development – What does the MiniWallet class currently do and need to do in the Bitcoin Core functional test framework?

I tried to run the Taproot functional tests after building Bitcoin Core with the wallet disabled (as I knew there was no Taproot code in the Core wallet at the time of writing, December 2020).

However, they were skipped because a number of the functional tests currently rely on the Core wallet to create and sign transactions. (Thanks to Marco Falke for pointing this out on IRC.)

The introduction of MiniWallet though raises the prospect of being able to update these non-wallet functional tests so they no longer rely on the Core wallet.

There is a good first issue open on the Bitcoin Core repo to do this for all non-wallet tests. As Marco states in that issue:

This is an open-ended issue. You can find candidate tests via
git grep self.skip_if_no_wallet(). Exclude the tests that start with wallet_, as those are tests that are meant to test the Bitcoin Core wallet.

So what does the MiniWallet class currently do (and perhaps need to do) so that all non-wallet functional tests can be rewritten to no longer rely on the Core wallet?