This video shows the basics of setting up a "Binder" with WireBox and how to setup mappings and alias using the WireBox DSL for super simple dependency injection that is easy to read.
WireBox Binder and Configuration Introduction... from Curt Gratz on Vimeo.
Again, this is not even scratching the surface of what the binder in WireBox can do. Below are some other simple changes you could make to the binder or ways you could do injection
So this line
Could change to
.initArg(name="",ref="daoPath") //refpoints to an id directly
as one possible alternative, so if we wanted, we could remove the .initArg and do it via annotations
function init(required daoPath inject) or
function init(required daoPath inject="id") or
function init(required daoPath inject="id:daoPath")
So, as you can see, you can do your injections a variety of ways. Now, go, read the docs, and install WireBox and get wiring your model up the easy way.