Refactor to allow specifying existing pieces in staves