move scheduling data structures to external dependency
add business interfaces