added condition to lazy loading of relationship objects

no db calls will be made if foreign key is 0.
make model change events opt-in per repository
added categories to integration tests
added cancellation token to Scheduler.