Pulling event handler caching into a separate object, though still within the same file