Add create/remove subscription test cases

This the builder pattern implemented using a static class. I also saw a similar example while reading "Effective Java, Second Edition" by Joshua Bloch (You can find it in page 14). By using a static class, we can avoid a reference to the outer class being attached to the inner class. Therefore I think this is the better thing to do.