Subclasses are honored
* to_s prints the actual class name
* calls go to eg. self.class not Docker::Image
* Images creating containers and containers creating images go through a private method stub that subclasses can override (allowing MyAwesomeImage < Docker::Image to create a MyAwesomeContainer if appropriate)