Refactor new build system

This commit mainly adds a modified class to run processes asynchronously. This way we can print more useful progress information to users.