dependency injection + unit tests frmwork