tie'ing to an implementation class so we can override assignments