I think this is the only controversial part, but I think it's correct. I make it so that none of the subclasses of this have a `wrap` method, so that no one by mistake calls that instead of force_wrap.