go dependency injection & testing example