Use enum Color instead of constant bytes
refactor base into abstract and ecma