supports the efficient creation of “hookable” objects, which are callable objects that are meant to be optionally replaced.