What are some practices around testing catalyst components? Maybe catalyst should include some test helpers or a test framework?