I will open another issue/PR to move everything out of `__init__`