Fix various circular requirements, method redefinitions, etc.
This will allow extending this class so it can be used by more than just blacklisting.