implemented abstract States, Nodes and Actions. Also made State contain it's relevant actions