built using an abstracted state machine with a non-blocking IP wrapper around it. README will follow in the next commit.