lti-demo is predominantly builder based ...
api->actionbuilder->build->response
there is another approach which is message-response pattern and this lti tool demo project does that.
api->messagebuilder->dispatch->response