Modify 'exec' command so we have more control over it

The new command accepts a 'preamble' argument to print a
preamble as early feedback for users.
Refactor build commands
Refactor
Merge pull request #224 from my-personal-forks/refactor-build

Refactor new build system