Separate CannedApp and CannedView into own source files