Cache navigation view controller identifiers
Fixes #1 - avoid generating duplicate identifiers