I do kind of like having the API functions and their behaviors clearly demarcated from the methods of TradingAlgorithm that are responsible for setting up and piping data through the generators etc., but I guess we could do that with code organization/comments marking sections as well.