Initial commit of interface, which encapsulates rendering loop