refactor: use ScrollWidget as base for editors