Make the green pool executor a bit more generic