Есть написанное внешнее для пользователя API, оно вызывает функции с определенной сигнатурой. С точки зрения API, только сигнатура и важна. Пользователю может захотеться написать такую функцию, где еще и контект понадобится, при этом в сигнатуре его нет. Значит, пользователь хочет инкапсулировать его в вызываемый объект.