# Functions
NewShellExecutor creates a new executor that runs commands.
# Structs
FakeExecutor is a test double that records the arguments used for calling it.
ShellExecutor an executor that shells out to run commands.
# Interfaces
Executor executes commands shelling out and binding the stdout and stderr to the os ones.