// map an object to a virtual provided object
map("coolObjectProvider")
.toDSL("provider:HardToConstructObject");
// map an object an set the explicit DI arguments or DI setters to virtual provided objects
.to("model.search.SearchService")
.initArg(name="searchCriteria",dsl="provider:requestCriteria");