Added "typespec" mixin and refactored everything accordingly.