Rework compatibility into separate package to allow for packaging it as a dependency in composer