Added clean tests for actually testing BlockStem using our test class.
This allows us to do future refactorings within the class.

Before, we weren't able to refactor this class easily due to many
dependencies within the class. Making and setting up the classes
necessary for testing would be complex and somewhat irrelevant. After
this refactoring, we no longer have to worry about these dependencies as
they are simplified as necessary for test purposes.

Next we will document the test class and hopefully do some refactorings.