directive defns need to be functions