Moved all code into a code/ folder.
Added ClientAdapter template
Changed Request and Response messages to have Key and Data instead of MatchObject.