Generalized project with State interface.