Refactored Checker to Arguments and States, closes #28, closes #31.
Added unit tests for Arguments and States.
Changed classes depending on Checker to now dependon Arguments respectively States.