Refactor project observer specs

It closes #411.