Add support for grouping.
Make isUndoing and isRedoing private.
Make .shouldIgnoreRegisterCalls private and clearly label private and public sections in code.
Add tests for .registerMethodUndo()
Basic documentation.