Changed object constructors to fit delegate model