Add State, State_Controller, and Minimal Testing for Both