It makes everything easier to me to be able to see self, and its not as easily broken...I used the follow wrapper to make it work.
local frame = CreateFrame("Frame", "SkullMeFrame")
SkullMe:Onupdate() is the actual function, SkullMe:OnUpdate is the wrapper
if you want to wrap a function like that, it's much easier to just add an anonymous function instead.
frame:SetScript("OnUpdate", function(frame, elapsed) SkullMe:OnUpdate(elapsed) end )
not sure if that's exactly what you're looking for, but that replaces the frame reference with your SkullMe table... you could also call SkullMe:OnUpdate(frame,elapsed) if you wanted to know what frame fired off the event...