combined composite and builder design pattern example