На мой взгляд, правильнее делать onEdit методом класса BookList. Если же он вызывается из нескольких классов, назовите более понятно, например editBook. Как правило хорошего тона, сделайте свой метод для запуска редактора вместо "win.down('form').loadRecord(record[0])". Например замените на "win.editBook(record)". Еще можно научить редактор понимать конфиги и задавать модели прямо там:
Ext.widget('bookwindowedit',{
record: bookRecord
})
В целом, правильная архитектура определяется потребностями. Что делать методом чего и как вызывать - решать только вам.