Hi,
Firstly, thank You for developing and maintaining this library, it is very useful.
I found that get_succesor() method of fsm can be called without setting a successor and the function will dereference a nullptr in that case. It is not written in the documentation that the user of the framework must call the has_succesor() method before using the get_succesor() method. I recommend to throw an exception or add this requirement to the documentation.