some refactoring of code (Presenter, Associable) and a few more specs