implement Scheduler as static factory
add .gitattributes
introduce ScheduleEvent
introduce internal.BaseScheduler<TScheduleEvent>