I'm going to rewrite this to 3-stage with singing once it is merged. John will work on a better logging module.