Added a file with some of my ideas for how to do it.
Basic framework