Add editting interface.
Add components file and base class.
component structuring refactored. Edit gains selecting functionality.
Added debouncing save to editing
Component updates correctly.
Improve Expected interface functionality.