Use a Callable to add constraints on detach instead of array