(Item 1) use static factory to substitute constructors
more meaningful name than constructor name
don’t require to create new instance each time they’re invoked
return object of any subtype (map string key to class name, reflection: spring creation mechanism)