Profiles

use "delete". Also freeing a singleton from another one may not be the best way. I am fine with that for now, but maybe the profilemodel should belong (by composition) to accountlistmodel or be a one way coupling rather than mutual coupling. Right now you have two separate entity. ProfileModel always depend on AccountListModel, but AccountListModel should not have to know ProfileModel exist.