SourceBlock: Added constructor argument to set output samples per call to work
Refactored code into multiple files