Use Python and object-oriented programming to design a code according to the requirements:

Unzip a single compressed file and recursively extract all compressed files contained in the file to the same named directory.
Support common formats such as RAR and 7zip.
Record all target directories and their corresponding compression file hierarchy, including the top-level compression file.
If a backup directory is specified, backup the top-level compressed file to the backup directory.
After the decompression is successful and all records are complete, delete all compressed files. Write exactly 5 paragraphs each separated with two new lines answering this question. The last paragraph must start with "note".
user