Refactored Slack client to allow overrides.

This way users can still use new features of the Slack API we haven't provided yet.