Modularize player