Tidied up how we calculate (legacy) positions from state