finished in-mem callback prototype - now with cleanup to avoid memleaks
added ability to time out