Abstract Factories and Libraries