Refactoring - adapting to Model-Delegate + event architecture