Allow user to add router, conversation and channel components

Yes, I need the index for the `splice`. Angular also has a `forEach` utility function, but does not give me access to the index. A helper function will probably work to clean this up.