made the code compile.. solved a circular dependency and removed some erroneous package names
reverted some things. moved the KeyLock to gaecontext. added a new error type to make it simpler to include stack traces in errors.