A simple music player using design patterns