Improved incremental building
Added server-side exercise state machine + tests