Provide more guidance on which events to listen for
The examples in the README just do it, but they don't explain why. The SDK allows people to listen for things in so many different ways; we need to tell people the recommended approaches and why (e.g. why use 'RoomMember.membership' and not just 'event' for processing invites).
https://matrix.org/jira/browse/SYJS-15
I also feel that jumping from https://matrix.org/docs/spec/r0.0.0/client_server.html to https://matrix-org.github.io/matrix-js-sdk/0.10.8/module-client-MatrixClient.html and back it's often difficult to figure out what exactly I have to listen to and then how to use the resulting object.
For example I'm now trying to understand direct messaging and invites. I found in another issue that I can create a room with preset settings to create a "direct message" room. But now I wonder how the other party will get notified about that. I would think that an event arrives inviting the user to the room. But will this event always be send to the user upon initialization or is the room then listed in the room list and I have to check the user status of the membership.