To sum up
- Catalyst controllers should be really really small
- The hard stuff should not depend on Catalyst
- dependencies are bad (but a DB might be necessary)
- Test shouldn't need to invoke Catalyst
- app should be so simple there's no way it can't work :)