Updated Doctrine Implementation to use association mapping where possible.