Каковы логические различия между bind(), singleton(), scoped() и instance() в Laravel? В каких сценариях их можно использовать?