refactoring to Async and single Init/LogResult value objects