use NS_ENUM instead of plain enum.
the context should be a some object rather than nil.
Merge branch 'master' into documentation