This is a strategy that Drew suggested to me reduce maintenance and make the APIs less brittle to signature changes which would potentially impact other institutions that have custom implementations. Though I was initially resistant to the idea because of separation of concerns, I've found that his suggestion has a lot of merit at the service layer (less so at a dao layer) and I've seen its beneficial use in several of the portlet projects. Though it's not as useful in this particular case because these service layers are pretty much a wrapper for the dao, I had chosen to follow it as a convention.