Refactor code, allow linking between providers, collections, and entries