Take 2 at handling removeAll() properly. Works this time, I think.