Allowing paths to passed in that might not exist, and adding trait support
Adding composer autoload support