refactored principle actors to FSM - initial implementation