in reply to Re: not waiting for module to return
in thread not waiting for module to return

using a module doesn't import the functions into the namespace you are using. So you will have to call edit_categories() through the included module unless you use Exporter to import the function into the current namespace to call it like:
edit_categories();

instead of
&Categories::edit_categories();

BMaximus