Removing trackrecord as submodule
beginning refactoring
FMC: fixed merge conflict
Finished refactoring. It's all pretty now. Could use more comments though.
Re-added the wait stream