Split preferences framework and main library