You could create traits for the various states