Search design pattern

from Playbook