I think it's a bad idea letting `Domain` access members of this class... we create a cyclic dependency between the two classes.  I think it'd be better to just assign the members of the api class here (or in a method of this class), accessing `Domain`'s members (or accessors to those members).