Just a little more background on this - to me, it is as much a question about process as it is about design. Like most open-source projects, Pivot is a volunteer-driven effort with limited resources. In order to be successful, we need to map our development process to these constraints. That's one of the reasons that an iterative approach works well. It allows us to make progress in more manageable chunks.
For example, at some point in the future, Noel may no longer be interested or available to work on RichTextArea. It should be possible for someone else to easily step in and understand how the code works, so that we can continue to fix bugs and add new features. I wrote the original code for that component, so I know that it works, but I also know how complex it is, and I know we can do better. If we take a step back and refactor out the stuff that we don't strictly need right now, we will: a) Have a useful, more stable layout container in a shorter timeframe b) Have a cleaner codebase upon which to build new features c) Better position ourselves for longer-term success G
