Beacon v2

Because sometimes when you read data from the beacon it is not well formatted or it doesn't exist. So if you call build() with data you got from the beacon it will raise an error.