Adam Craven
Writing
µblog
About
Contact
Separate core logic from the framework