Small cleanup
Make DoesNotExist actually mean NoSuchFileException
Reference Receive insteads of PartialFunction