Since this has a dependency on mcrypt, can we add a check in the constructor and throw an exception if the environment doesn't support this?