Uses ref classes and handle declarators

All subsystems now are ref classes and can be managed using handle
declarators (^) to simplify memory management.