Specs needed to be updated to handle new way of receiving methods.
What's more they revealed a subtle bug that was present after changing
merge function to fetch record if it's not present.
After calling merge, store calls method to update associations. This
may be not possible if clientId for new record is not correctly set.
Pusher events do not always have the entire data for given object.
That's why we need to merge incoming data instead of replacing
everything. Current implementation of merge is just modified version of
load function, so it will be best to either add it to Ember or make the
implementation less dependent on internals.
It seems that this is more reliable way to handle async waits. runs
block is executed only when first waitFor succeeds and then it waits for
next waitFor.