Update archive extraction functions to their own classes

Not sure we want this in 1.0.3 or just wait for 1.1 ... made the PR to discuss