I don't see the problem with the existing system if you're allowing internal mutability anyway.