Broke out classes, tried to add "open URL" support. Still some issues.