I noticed that all ImagineInterface implementations create an instance of the Loader class if say, a string was passed in as a path to the open method, but the Loader constructor can throw different unexpected exceptions from the open method's point of view (Imagine\Exception\NotFoundException or Imagine\Exception\RuntimeException). Shouldn't ImagineInterface document these as possible thrown exceptions then, instead of just Imagine\Exception\RuntimeException?