<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def process_event(self, event):
 """Apply an event to the snapshot instance """

        if not isinstance(event, KindleEvent):
            pass
        elif isinstance(event, AddEvent):
            self._data[event.asin] = BookSnapshot(event.asin)
        elif isinstance(event, SetReadingEvent):
            self._data[event.asin].status = ReadingStatus.CURRENT
            self._data[event.asin].progress = event.initial_progress
        elif isinstance(event, ReadEvent):
            self._data[event.asin].progress += event.progress
        elif isinstance(event, SetFinishedEvent):
            self._data[event.asin].status = ReadingStatus.COMPLETED
        else:
            raise TypeError