Added usage and state checking to help users not make mistakes with the mocking framework. -Micah