Extract story tree interaction into a separate service to allow reuse of this logic within different controllers