This code looks like it could be nicer if written as a decorator. For now it's ok. But if you read about the decorator pattern then think back to what you are doing here.