+per #15279 FSM for PersistentActor

Located in akka-persistence because persistence is experimental and probably should not be used in akka-actor
Do you mean something like this?:
...
        case((StateChangeEvent(state: S, Some(data: D))),  _) => super.applyState(goto(state) using data)
        case((StateChangeEvent(state: S, None)), _)           => super.applyState(goto(state))
...
case class StateChangeEvent[S, D](state: S, data: Option[D]) extends PersistentFsmEvent
...