Moves reset completed event emission into the base.py with exceptions wrapping