abstract factories, Abstract Factories and Libraries