Simplified example - removed async layer from usecases.
Added usecase interface. Added example of async use case.