Honestly, part of it is motivation. I keep getting distracted with other things.
I expected it to go the 80-20 way, the initial ideas are not new ones, I have been building similar frameworks for a few years.
The time is mostly spent on the more difficult problems like "How should operators hang up when the program is closed?" " Should the program be expected to close?" "Should there be a global context object, or a default one" "Should an operator have a window by default or not"
There is no right answer, so its just a case of sucking it up and implementing something, seeing if it works, and going from there.
Plus the side escapades with earthquakes and space weather and irc channels - although implementing these little things does drive the bigger project.
I am hoping before the end of the year I can hit something I feel comfortable slapping "1.0" on and move onto something else for a while and use it as a base for working on some other ideas I have.