Had to settle for a rename, seems that writing needs to know about the full wallet in order to save it
used concrete implementation for building new wallets - not ideal but a little better