Extended position struct so it can store MapId