1. Core functionality (for plain beans only).
2. Core functionality unit tests.
3. Project structure.
4. Integration tests.