Each node layer now manages its own state monad