Quais são as diferenças lógicas entre bind(), singleton(), scoped() e instance() no Laravel? Em que cenários eles podem ser usados?