Is that a decent design pattern?