First idea for sheet no 6. Might want to do all in one instead of using std::function objects.