This way IDEs can verify method overrides in subclasses, otherwise these are flagged as erroneous. Changed base classes to properly raise NotImplementedError; previously they would cause "TypeError: exceptions must derive from BaseException" Also fixed exception handling in sources.service.clean().