Added abstract classes BuildItem and Item; also added GlobalState class