Updated to have state logic part of any game