Added files for factory and observer patterns