move class IHasOwner<T> into its own code file
add check function to IContains* classes