- Modify so that interceptor `preStateChange` is not called for transient states which would falsely try to i.e. persist choice and other states with persist recipe. - Added some tests to verify that `preStateChange` is called only once. - Relates to #266