Add documentation and change autowiring_error to take a std::string