Refactored Code to work with Callbacks to make the starting process fail save