Recommendation to use Closure instead of Factory