Refactored to use object manager and not run in main queue