Clean up - use final fields to enforce correct constructors.
Remove apparently unused DAO.
Clean up - pulling out method.