inherit from Stateful