This type could be entirely avoided but it is quite practical because it can be mocked for testing.
| procedure, public, nopass :: get_file | |
| procedure, public, nopass :: get_pkg_data | |
| procedure, public, nopass :: unpack | |
| procedure, public, nopass :: upload_form |