Restructured classes to support separate Media and Education APIs