My post was read more than 20 times and no one corrected me so I guess that it makes sense to use Stateful SBs with Seam in this way.
It does not look like in your case that you have any state to maintain, unless that code has been snipped. SFSBs are useful when maintaining state across requests so it looks like your approach is fine.
I was just thinking that concurrent users might accidently get the same outjected book object: User 1 requests book A and user 2 requests book B and both get book A outjected.
Stateless SBs are synchronized but does that for sure mean that outjection from Stateless SBs is?
yes thats fine