Add onFrame and run methods to System
Make run optional for a System