I wouldn't do that. One of the problems with Seam components is that their lifecycle is managed externally. This means that the component reference that you hold to (in this case ProjectDAO) might have been "cleaned out" by Seam and you don't even know it. This is why I prefer fetching the component when using it from a method that is not managed by Seam's interceptors.

What I will do for this however, is use our new Service locator component, which will be nicer to read and refactor in the future.