bugfix

Change-Id: I45a680af6af9d84faf85989c275279506edefbf4
refactoring of factory functions: they all can take a function or an array of functions as first arg (handled by new executor factory), and the functions the fabricate can all take an arbitrary number of arguments

Change-Id: If8ca7ec4a2efb81281f853cb8ab3b052b5dbfc3e