move buffering_source to a separate header
remove skip method from the Source concept
rename generator_observable