newSeed works in any MonadIO
newAgentState helper

creates fresh AgentState in MonadIO