REFACTOR - abstracted the fetching and creation or returning of the appropriate managed object into its own class that can be used by all mangaged object categories