add plugin stub and initial implementation of state machine and states