General tasks:
* complete casual missing class pods
* finish test framework and add better test cases
* improve tests for all classes
General tasks:
* complete casual missing class pods
* finish test framework and add better test cases
* improve tests for all classes