Add multiple executors

Refactoring / clean up
Adding executors instead of framework messages
Did you mean to leave this TODO in? If so, please attribute it to yourself: "// TODO(elingg): Simplify number of variables used."