Making internal story monad abstract

So we can capture how we use it.
refactoring
Refactoring Word base type