Added the ability to use stubs (mocks that track their value when changed) and refactored the extensions into their own classes to keep things a bit more organized.