flexible way to set item properties
random_empty_square -- we're gonna need to turn these into a single method that takes parameters like ':empty' and ':walkable'