Changed listener from an observer/observable pattern to a callback interface.  Also added lifecycle events for all of the flyway tasks, as well as junit tests for each event.