Internal API fix

Because the progress bar was coupled with asink.go rather than the main program itself, the internal API was broken. Optional callbacks have now been implemented so anything can be done in the main program without interrupting asink.go