Unacoupled entities wit dependency injection