Optimisation - reuse objects where possible to saving additional io/db calls.