Refactor play/read controller, simpler