Restructured code, abstracted out flashpunk & extendedpunk