move code into lib/
add a basic gemspec
delegate message handling to app subclasses