Seeing this a lot now made me think. Do you have a CLI frontend for this? or are you using the framework file as your main?

My reason is that I think Framework APIs should not print anything, they shouldn't even be interactive. They should always "log" data instead. This way someone could reuse your API to create a GUI, or a different CLI. You would implement all the interactive parts inside a CLI Frontend file instead based on what the Framework APIs return.

I think this is better practice anyway. As far as I can tell your using your Framework file as a main method / application rather than as an API in it's current state.