Refactored entire library to use GetAttributes<T> over GetCustomAttributes where possible.