App model done. TO DO: implement the execute() method, complete documentation; create tests.