Further work on the forum subscribe code.

Before taking this in to the official module repo, here are some more refactors, some @TODOs and I have added a simple unit test as an example for you if you are interested in working out how to add these as an exercise.

Ideally let's back and forward between our forked repos to get the feature into a good state and then pull request it into the forum module :+1: 

Feel free to make further updates and PR to my fork directly.