modularize state
modularize signal
update clean target
header cleanups
modularize ui and fix makefile circular ref