Sorry, I did not catch your point :(.
Do you mean we need to return an instance in get_portgroup()?
But, hmmm, I did return a instance in get_portgourp().

Could you give me more about your idea? 

Thanx :)