work on the factory for function based plugins
rename dahu -> dahu-src to prevent local import
make factory work for functions_based plugins
some doc & spec for dahu