+1 this is a good pattern for this.