Refactor tasks to provide better messaging

This also includes a couple utility functions, wrap() and myslq().