design pattern conflict ?