refactors moonshine base class
refactors filter class
adds support classes
adds tests to refactored base class
adds tests to refactored filter class
adds integration tests
adds dsl