Use object-oriented programming

Signed-off-by: Daniel Francis <francis@sugarlabs.org>