ModelManager and Abstract Factory