finish php patterns with creational impl and tests