public void SetProperty(TilePos position, string key, object value) { try { var objectToSetProperty = GetObjectAt(position); objectToSetProperty.Properties[key] = new PuzzleObject.Property(key, value); PropertySet.CallEvent(position, key, value); } catch (Exception) { throw new ObjectNotFoundException(); } }