Ensure we exit when we are done
Make callbacks optional
Start on test cases