Pattern observable